【问题标题】:error CS1009: Unrecognized escape sequence [duplicate]错误 CS1009:无法识别的转义序列 [重复]
【发布时间】:2023-03-30 17:35:01
【问题描述】:

得到错误

错误 CS1009:无法识别的转义序列

要替换的字符串

newDate = "/日期(1430370000000+0530)/"

代码

newDate.Replace("/","\/")   

我正在尝试替换反斜杠

/

带正斜杠和反斜杠

\/

【问题讨论】:

  • 昨天的问题一模一样……
  • 上面的问题根本不是重复的,这里的问题是不同的......我仍然没有从重复的问题中得到解决方案
  • 木锤法是newdate = $"\\/{newDate.Trim('/','\')}\\/";
  • 这是c#代码???
  • @tom 不确定我如何在 C# 中执行它

标签: c# .net regex string replace


【解决方案1】:

我相信你想要

newDate.Replace("/","\\/")  

as \ 具有特殊含义,并且您使用不当导致引用错误。详情请见escape character

或者使用@-quoting 尝试verbatim literal

newDate.Replace("/", @"\/")

【讨论】:

  • 我得到 "\\/Date(1430370000000+0530)\\/" 但我只想要 "\/Date(1430370000000+0530)\/"
  • 增加了一个斜线
  • 检查编辑的答案
  • 我仍然得到相同的 "\\/Date(1430370000000+0530)\\/" 我不需要引号后的两个斜杠,我只需要一个
  • @SmartestVEGA:只要您在调试器中查看结果,您就会看到转义版本:反斜杠将显示为反斜杠反斜杠。原因是字符串中的单个反斜杠开始了转义序列。顺便说一句:/ 是一个斜杠,而 \ 被称为反斜杠。
猜你喜欢
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
相关资源
最近更新 更多