如何在java中将反斜杠插入到我的字符串中?

时间:2013-11-22 06:22:38

标签: java string

我有字符串,我想用反斜杠\

替换其中一个字符

我试过以下,但没有运气。

engData.replace("'t", "\\'t")

engData = engData.replace("'t", String.copyValueOf(new char[]{'\\', 't'}));

INPUT:“不能”

预期输出:“不能”

知道怎么做吗?

6 个答案:

答案 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

请参阅String.replace(CharSequence, CharSequence)

答案 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("\\./", "");