我有字符串,我想用反斜杠\
替换其中一个字符我试过以下,但没有运气。
engData.replace("'t", "\\'t")
和
engData = engData.replace("'t", String.copyValueOf(new char[]{'\\', 't'}));
INPUT:“不能”
预期输出:“不能”
知道怎么做吗?
答案 0 :(得分:4)
试试这个..
String s = "can't";
s = s.replaceAll("'","\\\\'");
System.out.println(s);
out put:
can\'t
这将用字符串中的每个'出现'替换。
答案 1 :(得分:2)
试试这个
engData.replace("'", "\\\'");
INPUT:不能
预期输出:不能
答案 2 :(得分:1)
String
在Java中是不可变的。您需要将修改后的字符串分配回自身。
engData = engData.replace("'t", "\\'t"); // assign the modified string back.
答案 3 :(得分:1)
这可以通过regex:
实现engData = engData.replaceAll("('t)","\\\\$1");
(
和)
指定group。 't
将匹配包含't
的任何字符串。最后,第二部分用反斜杠字符替换了这样一个字符串:\\\\
(四个因为this)和第一个组:$1
。因此,您要用't
\'t
如果没有正则表达式,你尝试了什么(参见this输出),同样的事情是可能的:
engData = engData.replace("'t","\\'t"); //note the assignment; Strings are immutable
答案 4 :(得分:0)
以下适用于我:
class Foobar {
public static void main(String[] args) {
System.err.println("asd\\'t".replaceAll("\\'t", "\\\'t"));
}
}
答案 5 :(得分:0)
对于您可以使用的String实例,str.replaceAll()
将返回一个包含所请求更改的新String:
String str = "./";
String s_modified = s.replaceAll("\\./", "");