c# - 检查字符串是否以4个数字结尾

时间:2016-04-09 16:09:03

标签: c# regex numbers

我正试图找出确定string是否以4个数字结尾的最佳方法。号码范围是0000-9999。

例如。我有一个字符串,可以是“MVI_2546”或类似“FILETEST”。

我需要解析该字符串并基本上返回truefalse值,具体取决于它是否以4个数字结束。

5 个答案:

答案 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

Live Demo on Regex101

Demo

答案 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