如何在java中向字符串中插入反斜杠?

如何在java中向字符串中插入反斜杠?,java,string,Java,String,我有一个字符串,我想用反斜杠替换它的一个字符\ 我尝试了以下方法,但没有成功 engData.replace("'t", "\\'t") 及 输入:“不能” 预期输出:“无法” 你知道怎么做吗?以下内容适合我: class Foobar { public static void main(String[] args) { System.err.println("asd\\'t".replaceAll("\\'t", "\\\'t")); } } 对于可以使用的字符串实例,st

我有一个字符串,我想用反斜杠替换它的一个字符\

我尝试了以下方法,但没有成功

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

输入:“不能”

预期输出:“无法”


你知道怎么做吗?

以下内容适合我:

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

String
在Java中是不可变的。您需要将修改后的字符串重新分配给自身

engData = engData.replace("'t", "\\'t"); // assign the modified string back.
这可以通过以下方式实现:

指定一个。
't
将匹配包含
't
的任何字符串。最后,第二部分用反斜杠字符替换了这样的字符串:
\\\\
(四个原因),第一组:
$1
。因此,您正在将任何子字符串
't
替换为
\'t


如果没有regex,同样的事情也是可能的,您尝试了什么(请参阅以获取输出):

请参见

像这样尝试

engData.replace("'", "\\\'");
输入:不能

预期输出:无法尝试此

    String s = "can't";
    s = s.replaceAll("'","\\\\'");
    System.out.println(s);
输出:

    can\'t

这将用\'替换字符串中的每一个“事件”。

具有实际和预期输出的示例I/O将有助于更好地理解问题。请发布输入及其结果?您是否尝试过engData。replace(“您要替换的字符”,“\\”)@R.J请检查最新编辑。@K.C.是的,我尝试过,但是没有运气。你也可以使用
str=str.replaceAll(“\\./”,”)这很好,我觉得这是对的。这个问题是错误的。“我想用反斜杠\”替换其中一个字符,但您必须插入一个反斜杠,并且不会替换任何字符…没有用反斜杠或任何东西替换。只是更改的字符串没有被分配回,所以更改没有得到反映。我为英语感到抱歉!没问题。你问了一个恰当的问题。解决方案是重新分配该值。替换字符串或替换字符串没有问题。没有问题:)只需向上投票正确的答案并接受一个。因为它在字符串中,所以不需要转义
。此外,这将替换所有单引号。这会使
“不能.”hi“。”h“
变成
“不能.”hi“.”h“
。OP似乎只要求更改
t
之前的单引号。@Quincunx:是的。问题陈述没有提到确切的期望。不够清楚。但正如我们所看到的,这是公认的答案:)@AmitGupta在第二个参数中仍然有一个转义的
,它看起来就像是
engData.replace(“”,“\\”)足够了,还是有什么问题?
engData.replace("'", "\\\'");
    String s = "can't";
    s = s.replaceAll("'","\\\\'");
    System.out.println(s);
    can\'t