Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 确定字符串是否以空格结尾_C#_Regex - Fatal编程技术网

C# 确定字符串是否以空格结尾

C# 确定字符串是否以空格结尾,c#,regex,C#,Regex,给定以空格字符结尾的字符串,返回true 我相信我应该能够用正则表达式实现这一点,但我没有任何运气。的MSDN参考告诉我,\s应该匹配一个空格,但我无法找出其余的。怎么样 .+\s$ 像这样: if (Regex.IsMatch(someString, @"\s+$")) \s匹配空格 +表示前面的一个或多个表达式 (一个或多个空白字符) $表示字符串的结尾 你当然可以使用正则表达式来实现这一点,我相信比我聪明的人会给出具体的操作方法:),但在这种情况下,你可能不想使用正则表达式。几乎可以

给定以空格字符结尾的字符串,返回true

我相信我应该能够用正则表达式实现这一点,但我没有任何运气。的MSDN参考告诉我,
\s
应该匹配一个空格,但我无法找出其余的。

怎么样

.+\s$
像这样:

if (Regex.IsMatch(someString, @"\s+$"))
  • \s
    匹配空格
  • +
    表示前面的一个或多个表达式
    (一个或多个空白字符)
  • $
    表示字符串的结尾
你当然可以使用正则表达式来实现这一点,我相信比我聪明的人会给出具体的操作方法:),但在这种情况下,你可能不想使用正则表达式。几乎可以肯定的是,只需确保字符串不为null或空,然后返回就可以更快

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开始就存在了