我正在尝试使用正则表达式并检查给定字符串(如果它以数字结尾
)asdf4-24rwefaw-234tefg-teer6666
wert34-g54g5-345g345-25trv3457
答案 0 :(得分: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
就是你要走的路。一旦实例化,我怀疑它会更快。
答案 1 :(得分:4)
您可以使用:
+-- a digit
|
| +-- end of string
-+ |
Regex.Match("asdf4-24rwefaw-234tefg-teer6666", @"\d\s*$").Success
-+-
|
+-- zero or more whitespace
答案 2 :(得分:0)
var s = "asdf4-24rwefaw-234tefg-teer6666";
bool endsWithNumber = Regex.IsMatch(s, @"\d$");