2013-10-23 41 views
1

我想使用正則表達式和檢查給定的字符串,如果它以數字結尾C#如何修剪字符串,並檢查其與數字結束

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

可能重複的[如何檢測以數字結尾的字符串](http://stackoverflow.com/questions/3858474/how-to-detect-strings-that-end-with-a-number) –

回答

4

您可以使用此:

            +-- a digit 
                | 
                | +-- end of string 
               -+ | 
Regex.Match("asdf4-24rwefaw-234tefg-teer6666", @"\d\s*$").Success 
                -+- 
                | 
                +-- zero or more whitespace 
0
var s = "asdf4-24rwefaw-234tefg-teer6666"; 
bool endsWithNumber = Regex.IsMatch(s, @"\d$"); 
5

編輯

既然你從E取出可選空白nd的字符串,

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

就足夠了。

-

你可以做

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

爲alternartive到Regex


或許,

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

如果要反覆做,該Regex是要走的路。一旦它被實例化,我懷疑它會更快。

+0

有趣解! –

+0

我找不到IsNumber()方法。它在哪裏定義? –

+0

@AnarKhalilov現在檢查 –