2010-06-08 107 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 
} 
相关问题