我正试图找出确定string
是否以4个数字结尾的最佳方法。号码范围是0000-9999。
例如。我有一个字符串,可以是“MVI_2546”或类似“FILETEST”。
我需要解析该字符串并基本上返回true
或false
值,具体取决于它是否以4个数字结束。
答案 0 :(得分:9)
Regex.Match
可用于针对正则表达式测试字符串。它返回一个Match-object,其中Success属性显示是否匹配。
Regex.Match(yourString, @"\d{4}$").Success
在测试中使用此选项可查看yourString
是否以四位数结尾。
此致
答案 1 :(得分:2)
试试这个:
\d{4}$
\d
匹配一个数字,{4}
量词表示必须有4
前一个标记(4
个数字),$
定义字符串端。
使用$
:
# RegEx foo
foo # Match
barfoo # Match
foobar # Match
# RegEx foo$
foo # Match
barfoo # Match
foobar # No Match
答案 2 :(得分:2)
这是一种方法:
string str = "MVI_2546";
bool match =
str.Length >= 4 && //Make sure that the string has at least 4 characters
str.Substring(str.Length - 4) //Check that the last 4 characters
.All(char.IsDigit); //are all digits.
答案 3 :(得分:0)
修剪最后4个数字的字符串
尝试将这些数字转换为整数
如果引发错误 - >最后4位数不是数字 如果它有效 - >最后4位数字是一个数字,您将使用该数字。
答案 4 :(得分:0)
regex:
\b(\d\d\d)\b
C:\\Users\\UKS\\Desktop\\New folder\\004 // true
C:\\Users\\UKS\\Desktop\\New folder\\005 // true
C:\\Users\\UKS\\Desktop\\New folder\\00478 // false