【发布时间】:2023-04-07 17:55:01
【问题描述】:
我有一个看起来像 codes=”A,B,C” 的字符串,这是我从 word 文档中解析得到的。
在运行时我只想用空字符串替换这些双引号。
我尝试过类似str.Replace("\"", "") 的操作。
但是上面的双引号没有被替换:(
由于codes=”A,B,C” 似乎有一些不同的双引号,不确定是否是导致问题的原因。
请指导我如何替换上面字符串中的这些双引号。
谢谢!
【问题讨论】:
我有一个看起来像 codes=”A,B,C” 的字符串,这是我从 word 文档中解析得到的。
在运行时我只想用空字符串替换这些双引号。
我尝试过类似str.Replace("\"", "") 的操作。
但是上面的双引号没有被替换:(
由于codes=”A,B,C” 似乎有一些不同的双引号,不确定是否是导致问题的原因。
请指导我如何替换上面字符串中的这些双引号。
谢谢!
【问题讨论】:
“ 和 ” 字符与 " 字符不同。换成这个怎么样?
string clean = dirty.Replace("“", "").Replace("”", "");
【讨论】:
您尝试替换的双引号字符是 ASCII 代码 34。Word 使用了“智能引号”,您应该能够通过按住 Alt 并在数字小键盘上输入 0147(数字键行不起作用)和0148。
我相信这些是 Windows 的默认 ANSI 代码页中这些字符的代码。
【讨论】:
”在我看来,一半的智能引号与标准引号不同。您需要将它们包含在您的替换代码中。查看字符映射,它们是 U+201C 和 U+201D。假设源是 Unicode。
【讨论】:
str.Replace("\"", string.Empty);
【讨论】: