替换字符串中的字符

时间:2016-06-23 11:50:24

标签: c#

我有一个字符串结果Like

Result="\"a3bd2afc-6cd8-4341-803a-30ef096cd5fe\""

我想删除第一个" \和最后一个\"从字符串。和输出一样 " a3bd2afc-6cd8-4341-803a-30ef096cd5fe"

我试试

 Result = Result.Remove(Result.IndexOf("'\'"), 1);
 Result = Result.Remove(Result.LastIndexOf("'\'"), 1);

但未获得所需的输出。

任何人都可以提供帮助。在此先感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

使用接受要修剪的字符列表的String.Trim重载,例如:

<head>

该参数实际上是一个参数数组,这意味着您可以传递多个字符,或传递您可能已经拥有的数组,或者从其他输入创建的数组:

var newString=oldString.Trim('"');

var newString=oldString.Trim('"','x');

您只能分别使用TrimStartTrimEnd从开头或结尾修剪字符。

另请注意,您应尽量避免创建临时字符串。 var newString=oldString.Trim(mySeparators); 将创建一个必须进行垃圾回收的临时字符串。解析甚至几千行的中等文件时,会浪费很多内存,特别是CPU。解析日志文件时,这可能是一个真正的杀手。

答案 1 :(得分:2)

  

输出如“a3bd2afc-6cd8-4341-803a-30ef096cd5fe”。

这些逃脱角色是为了逃避"而不仅仅是角色。如果您只打印result变量,则会得到类似"a3bd2afc-6cd8-4341-803a-30ef096cd5fe"

的输出

只需尝试以下代码块即可查看

        string Result = "\"a3bd2afc-6cd8-4341-803a-30ef096cd5fe\"";
        Console.WriteLine(Result);

答案 2 :(得分:2)

你的字符串中没有反斜杠!

真的,没有。 \只是以下内容的转义字符,双引号:"。这样编译器知道双引号不是字符串的结尾,而只是字符串中的一个字符。

因此,解决方法是仅关闭双引号:

Result = Result.Trim('"');

答案 3 :(得分:1)

为什么不只是两个\&#34; ?

Result = Result.Remove(Result.IndexOf("\""), 1);
Result = Result.Remove(Result.LastIndexOf("\""), 1);

答案 4 :(得分:0)

在这里,这将有所帮助: Result = Result.Replace('\"', ' ').Trim();