删除C#变体中的单个反斜杠

时间:2018-03-03 09:05:22

标签: c# string escaping

我试图从我的变体中删除单个反斜杠。但不幸的是,我不知道为什么它不起作用。请帮忙查看。

string s = "此检查项己被你忽略,请联系医生。\u2028内科";
string us= s.Replace(@"\","dddd");
Console.Write(us);

我错过了什么吗?感谢。

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

斜杠是一个转义字符而不是文字字符“\”

如果你想在内科之前删除部件,你可以

string us = s.Replace("\u2028", string.Empty);

请注意,与评论中的版本相比,没有@。 @在C#中的字符串前面意味着它是一个逐字字符串,这意味着它将忽略字符串中的所有转义序列。

请查看这些链接以获取更多信息: Verbatim StringEscape Sequence

编辑:如果你想删除所有的Unicode字符(这是\ uXXXX),它有点复杂,你需要像Regex这样的东西。添加使用

using System.Text.RegularExpressions; 

并将替换从上面更改为

string us = Regex.Replace(s, @"[^\u0000-\u007F]", String.Empty);

基本上它使用模式匹配来搜索unicode字符并替换它。

Regex

的链接