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

tro*_*yes 1 html c# unicode string-comparison

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

在以下尝试中,subject将包含类似“Hey 3”的内容,其中“Hey”和“3”之间的空格是不间断空格字符:

if (date != "" && from != "" && subject.ToLower().Contains("hey&nbsp"))
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用,因为我想匹配实际的 Unicode 字符,而不是字面上的“ ”。

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

Mar*_*olo 7

NBSP 代表不间断空格。与传统的空格字符不同,两个或多个连续的 NBSP 不会折叠为单个字符。

HTML实体 实际上是用code翻译成unicode字符的00A0。在 C# 中你可以这样写:\u00A0

所以要搜索的字符串就变成了"hey\\u00A0"
使用C#语言的文字字符串特性。上面的字符串可以写成@"hey\u00A0".