我有一个字符串,想要将其中一个字符替换为反斜杠\
我尝试了以下方法,但没有成功。
engData.replace("'t", "\\'t")
并且
engData = engData.replace("'t", String.copyValueOf(new char[]{'\\', 't'}));
输入: "can't"
预期输出: "can\'t"
你知道如何实现吗?
我有一个字符串,想要将其中一个字符替换为反斜杠\
我尝试了以下方法,但没有成功。
engData.replace("'t", "\\'t")
并且
engData = engData.replace("'t", String.copyValueOf(new char[]{'\\', 't'}));
输入: "can't"
预期输出: "can\'t"
你知道如何实现吗?
试一试...
String s = "can't";
s = s.replaceAll("'","\\\\'");
System.out.println(s);
can\'t
engData.replace("'", "\\\'");
输入:can't
期望输出:can\'t
'
。此外,这将替换所有单引号。这将使 "can't. 'hi'. 'h'"
变成 "can\'t. \'hi\'. \'h\'"
。OP似乎只要求更改t
之前的单引号。 - Justin'
。 - JustinengData.replace("'", "\\'");
,或者有什么问题吗? - Roman GolyshevString
是不可变的。您需要将修改后的字符串重新赋值给它本身。engData = engData.replace("'t", "\\'t"); // assign the modified string back.
engData = engData.replaceAll("('t)","\\\\$1");
< p > (
和 )
指定一个组,'t
将匹配任何包含't
的字符串。最后,第二部分用反斜杠字符替换了这样的字符串:\\\\
(四个是因为这个),而第一个组是:$1
。因此,您正在使用\'t
替换任何子字符串't
。
可以不使用正则表达式来实现同样的事情,您尝试的方式(请参见此处的输出):
engData = engData.replace("'t","\\'t"); //note the assignment; Strings are immutable
String.replace(CharSequence, CharSequence)
。class Foobar {
public static void main(String[] args) {
System.err.println("asd\\'t".replaceAll("\\'t", "\\\'t"));
}
}
str.replaceAll()
,它将返回一个包含所请求更改的新字符串:String str = "./";
String s_modified = s.replaceAll("\\./", "");
str = str.replaceAll("\\./","");
,这个方法可以正常工作。 - Vinith