檢查String
是否僅由數字字符組成的最簡單方法是什麼?如何確定字符串是否僅由數字字符組成?
回答
if (Regex.IsMatch(input, "^[0-9]+$"))
....
您可以使用Char.IsDigit
或Char.IsNumber
:
var isNumber = str.Length > 0 && str.All(c => Char.IsNumber(c));
(記得要加using System.Linq;
爲Enumerable.All
或使用循環代替)
或使用int.TryParse
代替(或double.TryParse
等):
bool isNumber = int.TryParse(str, out number);
int.TryParse不適用於此問題,因爲它在字符串包含短劃線(負數)時返回true。所以這裏只有第一個解決方案是正確的。 –
@ kor_:但是,問題不是很清楚,我不確定負數是否應該被視爲不是數字。 –
我認爲這個問題很清楚。他想檢查一個字符串是否包含「僅數字字符」。也許他想驗證一些產品id? –
你可以使用正則表達式:
[TestCase("1234567890", true)]
[TestCase("1234567890a", false)]
public void NumericTest(string s, bool isnumeric)
{
var regex = new Regex(@"^\d+$");
Assert.AreEqual(isnumeric, regex.IsMatch(s));
}
哪個'「^ \ d + $」'和'「^ [0-9] + $」'更正確? – CJ7
如果你在幾個地方做這個,在String類中添加一個擴展方法。
namespace System
{
using System.Text.RegularExpressions;
public static class StringExtensionMethods()
{
public static bool IsNumeric(this string input)
{
return Regex.IsMatch(input, "^[0-9]+$");
}
}
}
然後,你可以使用這樣的:
string myText = "123";
if (myText.IsNumeric())
{
// Do something.
}
- 1. 檢測字符串是否僅由一種字符組成
- 2. 如何檢查字符串是否僅由字母和數字組成
- 3. 如何測試字符串是否僅由不同字符組成?
- 4. 確定字符串是否由不同字符串中的字符組成(類似拼字遊戲程序)
- 5. 確定字符串是否僅包含數字
- 6. 無符號字符位訪問,確定字符是否由1和0組成
- 7. 如何確定一個字符串是否包含非字母數字字符?
- 8. 如何確定一個字符串是否是ksh的數字
- 9. AutoHotKey如何確定複製的字符串是否是數字?
- 10. 如何檢查是否字符串包含字符串數組字符串
- 11. 確定字符串數組或字符串數組Grails
- 12. 如何返回由兩個字符串交替字符組成的字符串?
- 13. 如何確定字符串是否爲數字?
- 14. 確定一個字符串是否包含數組中的子字符串[NODEJS]
- 15. 確定一個字符串是否包含任何一組字符串
- 16. 如何確定字符串中的單詞是否是雙字?
- 17. 確定字符串的實際長度不僅僅是字符數
- 18. 如何檢查字符串數組是否包含特定的字符串?
- 19. 確定字符串是否在字符串內
- 20. 確定字符串是否以另一個字符串結尾
- 21. 將字符串分成由兩個字符組成的字符串
- 22. 分割字符串數組成字符
- 23. 確定字符串是否爲「肯定」?
- 24. 字符串由標點符號組成
- 25. C++ - 確定給定的字符串是否只有Furigana字符
- 26. 僅當它由數字組成時才接受字符串數組
- 27. 將字符串分割成單個字符字符串數組
- 28. F#:檢查一個值是否是一個字符串數組,字符串數組或字符串數組
- 29. 如何使字符串成爲字符串數組?
- 30. 如何確定字典中是否存在非空字符串?
哪' 「^ \ d + $」'和' 「^ [0-9] + $」'是更正確? – CJ7
實際上,當您談及「數字字符」時,'^ \ d + $'看起來更爲正確,其中包括'-','+',小數分隔符等。 –