替换方法不适用于转义字符' \ xA0'在C#中

时间:2018-06-12 21:03:51

标签: c# replace escaping

我试图替换' \ xA0'字符串中的字符为空白或最差情况下为空格。 此代码可以编译并运行,但它不会用空格替换 nbsp 字符。

Thread

有没有人知道替代解决方案或有这个问题? enter image description here

2 个答案:

答案 0 :(得分:0)

我找到了这个问题的合理解决方案。所以我将&nbsp 字符转换为int(65533),所以我使用该值并使用ToChar()方法获取我的角色,然后使用该字符替换。

        string line = Stream.ReadLine();
        char SpecNBSPChar = Convert.ToChar(65533);
        line = line.Replace(SpecNBSPChar , ' ');

SpecNBSPChar Replace

字符串替换方法之后。 Proof it worked

答案 1 :(得分:-1)

基于this线程可以试试吗?

line.Replace('\u00A0', ' ');

好的,我想在这里赎回自己。那么使用正则表达式呢?像这样:

string text = " Ph0b0x � ";
string result = Regex.Replace(text, @"[^\x00-\x7F]+", "");
Console.WriteLine(text);
Console.WriteLine(result);
Console.ReadLine();

我的结果:

  

Ph0b0x

     

Ph0b0x

发现正则表达式模式here