1

我正在尝试使用正则表达式并检查给定的字符串是否以数字结尾

asdf4-24rwefaw-234tefg-teer6666
wert34-g54g5-345g345-25trv3457
4

3 回答 3

5

编辑

由于您从字符串末尾删除了可选空格,

var correct = char.IsDigit(yourString.Last());

就足够了。

--

你可以做

var correct = char.IsDigit(yourString.TrimEnd().Last());

作为Regex.


也许,

var correct = char.IsDigit(yourString.Reverse()
        .First(c => !char.IsWhiteSpace(c)));

如果你想反复做,这Regex是要走的路。一旦实例化,我怀疑它会更快。

于 2013-10-23T10:23:46.107 回答
4

你可以使用这个:

                                                  +-- a digit
                                                  |
                                                  |   +-- end of string
                                                 -+   |
Regex.Match("asdf4-24rwefaw-234tefg-teer6666", @"\d\s*$").Success
                                                   -+-
                                                    |
                                                    +-- zero or more whitespace
于 2013-10-23T10:22:55.490 回答
0
var s = "asdf4-24rwefaw-234tefg-teer6666";
bool endsWithNumber = Regex.IsMatch(s, @"\d$");
于 2013-10-23T10:23:12.130 回答