如何檢查我的輸入是否是特定類型的字符串。所以沒有數字,沒有「/」,...檢查字符串輸入的內容
回答
好了,檢查輸入實際上是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. 檢查字符串C++的內容
- 2. 檢查輸入的特定字符串
- 3. 使用Javascript檢查字符串內容
- 4. 檢查字符串內容語言
- 5. 精彩字符串內容檢查
- 6. 檢查輸入的字符串是否包含我列表中的內容
- 7. 檢查一個字符串的內容並清除內容
- 8. jQuery檢查輸入匹配表達式或字符串的內容
- 9. 檢查字符串內容?字符串長度對比空字符串
- 10. 如何檢查lua字符串中是否沒有輸入任何內容?
- 11. 檢查字符輸入$ @!%&* _ python
- 12. 解析字符串輸入的關鍵字後跟內容
- 13. jQuery - 檢查字符串中某個字的輸入字段
- 14. 檢查字符串輸入自定義字符
- 15. 檢查輸入是否是C++中的數字或字符串
- 16. PHP:如何檢查我的字符串數組的內容?
- 17. 無法使用match();檢查jQuery中的字符串的內容
- 18. 在輸入字符串中查找字符串中的子串
- 19. 檢查輸入是字符串或單個字符串的列表/元組
- 20. 檢查列表中的字符串內的字符串
- 21. Android - 比較文本文件中的字符串輸入內容
- 22. 如何檢查字符串生成器的內容
- 23. 檢查如果字符串包含允許的內容
- 24. 檢查特定字符串的JSON內容
- 25. 可變長度字符串內容的非遞歸檢查
- 26. 如何檢查字符串的內容是否是數值?
- 27. 按ID分割div內容以檢查字符串的長度
- 28. 如何檢查是否變量名中包含的字符串,然後輸出字符串變量內容
- 29. 需要用戶輸入串/檢查字符串長度(C++)
- 30. 讀取字符串,檢查字符串並輸出數字
d你有任何機會意味着字母(只有字母),而不是字符串? – BoltClock 2010-07-20 18:43:59
你的意思是,「如何檢查一個字符串是否只包含字符?」 – 2010-07-20 18:44:16
您的意思是僅包含字母數字字符的字符串嗎?你能準確定義哪些字符? – 2010-07-20 18:45:16