如何检查字符串是否包含不间断空格字符?

时间:2018-02-07 16:05:28

标签: c# html unicode string-comparison

我需要检查字符串是否包含不间断的空格, 表示的字符看起来像常规空格但是不同。

在以下尝试中,subject将包含类似"嘿3",其中"嘿"之间的空格。和" 3"是一个不间断的空格字符:

if (date != "" && from != "" && subject.ToLower().Contains("hey&nbsp"))
{
    ...
}

此代码不起作用,因为我希望匹配实际的Unicode字符而不是字面上的"& nbsp"。

如何检查我的subject字符串是否包含不间断空格字符?

2 个答案:

答案 0 :(得分:2)

NBSP代表非破碎空间。与传统的空间角色不同,两个或多个连续的NBSP不会折叠成一个。

HTML实体 实际上已转换为代码为00A0的unicode字符。在C#中,您可以这样写:\u00A0

因此要搜索的字符串变为"hey\\u00A0" 使用C#语言的文字字符串功能。上面的字符串可以写成@"hey\u00A0"

答案 1 :(得分:0)

您可以输入包含

的char
"hey 3".ToLower().Contains("hey\u00A0")

其中"嘿3"实际上是" hey \ u00A03"