【发布时间】:2010-06-08 02:26:26
【问题描述】:
给定一个以空格字符结尾的字符串,返回 true。
我确信我应该能够使用正则表达式来做到这一点,但我没有任何运气。 regular expressions 的 MSDN 参考告诉我 \s 应该匹配空白,但我无法弄清楚其余部分。
【问题讨论】:
给定一个以空格字符结尾的字符串,返回 true。
我确信我应该能够使用正则表达式来做到这一点,但我没有任何运气。 regular expressions 的 MSDN 参考告诉我 \s 应该匹配空白,但我无法弄清楚其余部分。
【问题讨论】:
您当然可以为此使用正则表达式,我相信比我更聪明的人会发布确切的操作方法:),但您可能不想在这个案例。简单地确保字符串不为空或空,然后返回
几乎肯定会更快Char.IsWhiteSpace(myString[length - 1])
【讨论】:
像这样:
if (Regex.IsMatch(someString, @"\s+$"))
\s 匹配空格+ 表示前面的一个或多个表达式$ 表示字符串的结尾【讨论】:
Trim() 函数(和 TrimEnd())删除 所有 空格,因此您可以通过将字符串与修剪后的版本进行比较来做到这一点:
if (myString != myString.TrimEnd())
{
//the string ends with whitespace
}
实际上,已经在这里的其他答案当然是更直接和更快地完成测试。但是,根据我的经验,大多数情况下,当您需要知道这一点时,您很快也需要使用修剪过的字符串。在这些情况下,将其放入变量中通常很有用,以避免需要多次调用 TrimEnd():
var trimmed = myString.TrimEnd();
if (myString != trimmed)
{
//use trimmed here
}
【讨论】:
怎么样
.+\s$
【讨论】: