繁体   English   中英

java:用“ \\”替换“

[英]java:replacing “ with \”

如何在字符串中转义双引号? 例如

input: "Nobody"
output:  \"Nobody\"

我试过这样的东西,这不起作用:

String name = "Nobody";
name.replaceAll("\"", "\\\"");

因为您的字符串“ Nobody”中没有任何双引号!

    String name = "Nobo\"dy";
    name = name.replaceAll("\"", "\\\\\"");

    System.out.println(name);
  1. 您的字符串没有双引号
  2. 您没有在重新分配名称(请记住,字符串在Java中是不可变的)
  3. 您的正则表达式并不完全正确。

此外,您不需要RegEx即可进行如此简单的替换。

你试一试

    name = name.replace("\"", "\\\"");

adarshr是正确的,但也请注意,您忽略了返回的字符串,请执行以下操作:

String name = "Nobody";
name = name.replaceAll("\"", "\\\"");

Java中的字符串是不可更改的

编辑:自从我写那封信以来,adarshr的回答就变的更好了(如果有人怀疑我为什么写那封信)

name.replaceAll(...)不会更改名称-它返回字符串,因此您需要编写:

name = name.replaceAll(...)

Java文档

除了您的字符串不包含“

请看一下http://www.bradino.com/javascript/string-replace/ ,它提供了替换所有内容的提示。

您可以执行以下一项操作:

var name ='“ Nobody”'; name = name.replace(“ \\”“,” \\\\“”);

问候

AJ

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM