C# 确定字符串是否以空格结尾
给定以空格字符结尾的字符串,返回true 我相信我应该能够用正则表达式实现这一点,但我没有任何运气。的MSDN参考告诉我,C# 确定字符串是否以空格结尾,c#,regex,C#,Regex,给定以空格字符结尾的字符串,返回true 我相信我应该能够用正则表达式实现这一点,但我没有任何运气。的MSDN参考告诉我,\s应该匹配一个空格,但我无法找出其余的。怎么样 .+\s$ 像这样: if (Regex.IsMatch(someString, @"\s+$")) \s匹配空格 +表示前面的一个或多个表达式 (一个或多个空白字符) $表示字符串的结尾 你当然可以使用正则表达式来实现这一点,我相信比我聪明的人会给出具体的操作方法:),但在这种情况下,你可能不想使用正则表达式。几乎可以
\s
应该匹配一个空格,但我无法找出其余的。怎么样
.+\s$
像这样:
if (Regex.IsMatch(someString, @"\s+$"))
匹配空格\s
表示前面的一个或多个表达式+
(一个或多个空白字符)
表示字符串的结尾$
Char.IsWhiteSpace(myString[length - 1])
Trim()
函数(和TrimEnd()
)删除所有空白,因此您可以通过将字符串与修剪后的版本进行比较来执行此操作:
if (myString != myString.TrimEnd())
{
//the string ends with whitespace
}
作为一个实际问题,这里已经给出的其他答案当然更直接、更快,只需完成测试即可。然而,根据我的经验,大多数情况下,当您需要了解这一点时,您很快也需要使用修剪过的字符串。在这些情况下,将其放入变量中通常很有用,以避免需要多次调用TrimEnd()
:
var trimmed = myString.TrimEnd();
if (myString != trimmed)
{
//use trimmed here
}
哇,我不知道,它从2.0开始就存在了