我有一个字符串结果Like
Result="\"a3bd2afc-6cd8-4341-803a-30ef096cd5fe\""
我想删除第一个" \和最后一个\"从字符串。和输出一样 " a3bd2afc-6cd8-4341-803a-30ef096cd5fe"
我试试
Result = Result.Remove(Result.IndexOf("'\'"), 1);
Result = Result.Remove(Result.LastIndexOf("'\'"), 1);
但未获得所需的输出。
任何人都可以提供帮助。在此先感谢您的帮助。
答案 0 :(得分:2)
使用接受要修剪的字符列表的String.Trim重载,例如:
<head>
该参数实际上是一个参数数组,这意味着您可以传递多个字符,或传递您可能已经拥有的数组,或者从其他输入创建的数组:
var newString=oldString.Trim('"');
或
var newString=oldString.Trim('"','x');
您只能分别使用TrimStart和TrimEnd从开头或结尾修剪字符。
另请注意,您应尽量避免创建临时字符串。 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();