如何檢查我的輸入是否是特定類型的字符串。所以沒有數字,沒有「/」,...檢查字符串輸入的內容
回答
好了,檢查輸入實際上是System.String
類型的對象,你可以簡單地做:
bool IsString(object value)
{
return value is string;
}
要檢查一個string
只包含字母,你可以做這樣的事情:
bool IsAllAlphabetic(string value)
{
foreach (char c in value)
{
if (!char.IsLetter(c))
return false;
}
return true;
}
如果你想結合這些,你可以這樣做:
bool IsAlphabeticString(object value)
{
string str = value as string;
return str != null && IsAllAlphabetic(str);
}
兩者都是很好的例子,因爲標題和問題不完全匹配。 – corsiKa 2010-07-20 18:49:56
這並不完全清楚你想要什麼,但你可以用正則表達式來做。例如,要檢查你的字符串包含在AZ或az只有字母,你可以這樣做:
string s = "dasglakgsklg";
if (Regex.IsMatch(s, "^[a-z]+$", RegexOptions.IgnoreCase))
{
Console.WriteLine("Only letters in a-z.");
}
else
{
// Not only letters in a-z.
}
如果您還想允許空格,下劃線或其它字符只需在正則表達式的方括號內添加它們。請注意,某些字符在正則表達式字符類中有特殊含義,需要用反斜槓進行轉義。
您還可以使用\p{L}
而不是[a-z]
來匹配任何被認爲是字母的Unicode字符,包括字母在外國字母表中。
像這樣的東西(未測試)可能適合您的(模糊的)要求。
if (input is string)
{
// test for legal characters?
string pattern = "^[A-Za-z]+$";
if (Regex.IsMatch(input, pattern))
{
// legal string? do something
}
// or
if (input.Any(c => !char.IsLetter(c)))
{
// NOT legal string
}
}
using System.Linq;
...
bool onlyAlphas = s.All(c => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
+1不使用正則表達式! – Aren 2010-07-20 18:52:44
-1由於殘酷 – Luiscencio 2010-07-20 18:53:56
不要誤解我的意思:正則表達式有它的用處。但是對於這樣一個簡單的單通道算法來說,這是過度的。不過,我更喜歡裏德的回答。不知道「Char.IsLetter」。 – StriplingWarrior 2010-07-20 18:55:25
如果你的意思是 「是字符串完全字母」,你可以這樣做:
string myString = "RandomStringOfLetters";
bool allLetters = myString.All(c => Char.IsLetter(c));
這是基於LINQ和Char.IsLetter方法。
這很酷=) – Luiscencio 2010-07-20 18:51:12
Char.IsLetter如何處理本地化? – ahsteele 2010-07-20 18:57:18
@ahsteele:它實際上是System.Globalization。CharUnicodeInfo處理這個非拉丁字符。 – 2010-07-20 18:59:58
- 1. 的Java檢查字符串輸入
- 2. 檢查輸入的特定字符串
- 3. 精彩字符串內容檢查
- 4. 使用Javascript檢查字符串內容
- 5. 檢查輸入的字符串是否包含我列表中的內容
- 6. 檢查字符串內容?字符串長度對比空字符串
- 7. 解析字符串輸入的關鍵字後跟內容
- 8. jQuery - 檢查字符串中某個字的輸入字段
- 9. 檢查字符串輸入自定義字符
- 10. PHP:如何檢查我的字符串數組的內容?
- 11. 檢查輸入是字符串或單個字符串的列表/元組
- 12. Android - 比較文本文件中的字符串輸入內容
- 13. 如何檢查字符串生成器的內容
- 14. 可變長度字符串內容的非遞歸檢查
- 15. 檢查如果字符串包含允許的內容
- 16. 如何檢查字符串的內容是否是數值?
- 17. 需要用戶輸入串/檢查字符串長度(C++)
- 18. 如何輸入字符串檢查大寫字母,使用jQuery
- 19. 檢查字符串的子字符串
- 20. 自動寫入內容c#字符串
- 21. 將網站內容讀入字符串
- 22. 插入內容轉換爲字符串
- 23. 查詢字符串動態內容
- 24. C#查找基於輸入字符串的子字符串
- 25. C# - 檢測輸入字符串
- 26. 檢查標準輸入中的特定字符串
- 27. 檢查輸入是否爲字符串的方法
- 28. 如何檢查bash中的有效字符串輸入?
- 29. 如何檢查用戶輸入的字符串是否與
- 30. 如何檢查輸入號碼的字符串數量?
d你有任何機會意味着字母(只有字母),而不是字符串? – BoltClock 2010-07-20 18:43:59
你的意思是,「如何檢查一個字符串是否只包含字符?」 – 2010-07-20 18:44:16
您的意思是僅包含字母數字字符的字符串嗎?你能準確定義哪些字符? – 2010-07-20 18:45:16