[英]C# replace item in list<string> “/”
我想\\需要用列表中的另一个字符更改特定字符
我想用“ \\ P \\;”更改“ A”
这就是我所做的
for (int i = 0; i < msg.Count; i++)
{
msg[i] = msg[i].Replace("A", "\P\;");
}
但我收到此错误:“无法识别的转义序列”
问题在于它之后不会将其更改为十六进制。
所以这是我想做的:
List<string> changeOne = new List<string>
for (int i=0;i<msg.Count();i++)
{
if msg[i] == "A"
{
changeOne[i] = "\";
change[One[i+1] = "p";
}
i++;
}
我可以做这样的事情吗? 如何使其工作? 因为我认为我会有问题
假设味精清单是这样的:
0-D
1-A
2-S
3-1
我希望changeOne清单像这样
0-D
1-\
2-p
3-\
4-;
5-S
6-1
谢谢 ,
尝试使用verbatim string literal
-字符串中通常被解释为转义序列的任何内容都将被忽略。
例如: C:\\\\Users\\\\Rich
与@"C:\\Users\\Rich"
在您的情况下:
msg[i] = msg[i].Replace("A", @"\P\;");
如果您不希望在C#中转义文字值,则可以使用Verbatim String标记。
在这种情况下,请替换"\\P\\;"
与@"\\P\\;"
这比字符串中包含多个转义符更容易理解。
主要问题是您的问题不太清楚。 您要用4个字符串替换一个字符串。
1-A
变成
1-\
2-p
3-\
4-;
在您的示例中。
List<string> changeOne = new List<string>
for (int i=0;i<msg.Count();i++)
{
if (msg[i] == "A")
{
changeOne.AddRange( new [] {"\\","p","\\",";" });
}
else
{
changeOne.Add(msg[i]);
}
}
反斜杠(“ \\”)字符是特殊的转义字符,您需要使用两个反斜杠或使用@ verbatim字符串。
for (int i = 0; i < msg.Count; i++)
{
msg[i] = msg[i].Replace("A", "\\P\\;");
//or
msg[i] = msg[i].Replace("A", @"\P\;");
}
您可以参考以下链接: 转义序列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.