我尝试用下面的代码替换它,但出现错误“无法识别的转义序列”。
string originalPath = @"C:\project\temp\code";
string newPath = "";
newPath = originalPath.Replace("C:\project\temp", "C:\project\files");
我尝试用下面的代码替换它,但出现错误“无法识别的转义序列”。
string originalPath = @"C:\project\temp\code";
string newPath = "";
newPath = originalPath.Replace("C:\project\temp", "C:\project\files");
我认为你应该使用双 '/' ,因为第一个字符串是 '@' 而第二个不是。
如果它不起作用,我建议使用 string.contains 找到 temp 的实例,然后将 \n 放在那里,然后将字符串附加到 files 。
如果它不起作用,请尝试使用 regex 。
每个带有反斜杠的字符串文字都需要双斜杠或带引号的字符串的 @ 符号。
“无法识别的转义序列”是“\p”。
尝试这个:
newPath = originalPath.Replace(@"C:\project\temp", @"C:\project\files");
在字符串声明中,如果您使用 @Symbol,那么 String 将被原封不动地采用,实际上您无需担心转义序列。
您已经使用 @ 符号创建了 OriginalPath 变量,因此它将被视为:
originalPath = "C:\project\temp\code";
因此,以下两个陈述都是有效的:
1.string originalPath = @"C:\project\temp\code";
2.string originalPath = "C:\\project\\temp\\code";
因此,在替换字符串时,您可以使用以下任何一种方式:
解决方案1:
newPath = originalPath.Replace("C:\\project\\temp","C:\\project\\files");
解决方案2:
newPath = originalPath.Replace(@"C:\project\temp", @"C:\project\files");