2010-06-08 36 views

回答

11

你當然可以使用這個正則表達式的結束,我敢肯定有人比我聰明會後究竟是如何做到這一點:),不過你可能不想在這種情況下使用正則表達式。它幾乎肯定會更快簡單地確保字符串不爲空或空,然後通過比較返回

Char.IsWhiteSpace(myString[length - 1]) 
+0

哇,不知道的是,它已經出現自2.0 HTTP:// msdn.microsoft.com/en-us/library/system.char.iswhitespace.aspx – TesterTurnedDeveloper 2010-06-08 02:51:50

1

像這樣:

if (Regex.IsMatch(someString, @"\s+$")) 
  • \s匹配空白
  • +指一個或多個前面的表達式
    (一個或多個空白字符)
  • $表示字符串
0

Trim()功能(和TrimEnd())刪除所有空格,這樣你就可以做到這一點字符串修剪版本:

if (myString != myString.TrimEnd()) 
{ 
    //the string ends with whitespace 
} 

作爲一個實際問題,其他答案已經在這裏當然是更直接和更快地完成測試。然而,我的經驗是大多數時候你需要知道這一點,你很快也需要使用修剪過的字符串。在這些情況下,這是可以將它放入一個變量,以避免需要調用不止一次TrimEnd()更多:

var trimmed = myString.TrimEnd(); 
if (myString != trimmed) 
{ 
    //use trimmed here 
} 
相關問題