我有字符串变量 strVar,值为
' "value1" '
,我想用 ' \" '
替换值中的所有双引号。所以重置后的价值看起来像' \"value1\" '
如何在 Java 中执行此操作? 请帮助我。
您正在寻找
str = str.replace("\"", "\\\"");
我会避免使用
replaceAll
因为它使用了你不需要的正则表达式语法,这会使事情变得复杂,因为 \
也是正则表达式中的特殊字符:
target
描述什么要替换,replacement
(其中 \
是用于转义其他特殊字符 $
的特殊字符)。换句话说,要创建代表
replacement
的\
,我们需要用另一个\
来逃避那个\
,比如\\
。
但这还没有结束,因为
\
也是字符串文字中的特殊字符 - 例如我们可以使用转义 "
像 \"
或创建特殊字符如制表 "\t"
。所以为了在字符串文字中表示\
,我们还需要用另一个\
转义它,比如"\\"
.
这意味着要在替换中表示
\
,我们需要转义它两次:
\\
,"\\\\"
(代表\\
)。所以使用
replaceAll
的代码看起来像:
str = str.replaceAll("\"", "\\\\\"");
或者如果我们想让正则表达式引擎为我们处理转义:
str = str.replaceAll("\"", Matcher.quoteReplacement("\\\""));
使用
replace
方法我们不需要担心正则表达式语法并且可以只关注简单的文本。因此,要创建表示 \
后跟 "
的字符串文字,我们只需要 "\\\"
.
实际上是:
strVar.replaceAll("\"", "\\\\\"");
例如取一个结构如下的字符串--->>>
String obj = "hello"How are"you";
你想用空白值替换所有双引号,或者换句话说,如果你想修剪所有双引号。
就这样做,
String new_obj= obj.replaceAll("\"", "");
字符串用双引号格式化。你有的是单引号,用于
char
s。你要的是这个:
String foo = " \"bar\" ";
这应该给你你想要的;
System.out.println("'\\\" value1 \\\"'");
替换双引号
str=change condition to"or"
str=str.replace("\"", "\\"");
替换后:将条件更改为\"or\"
替换单引号
str=change condition to'or'
str=str.replace("\'", "\\'");
替换后:将条件更改为\'or\'