如何在Java中替换“字符?

时间:2011-09-14 14:30:08

标签: java parsing

我有

String a = "data=\"0\"1\"1\"1\"1\"0\"0\"0\"0\"0\"0\"1\"1\"1\"1\"0\"0\"0\"0\"0\"1\"1\"1\"1\"1\\\\";

我如何替换

  • "\"
  • \\\

String result = a.replace("\"", "\\\"");

OR

String result = a.replace(""", "\"");

4 个答案:

答案 0 :(得分:2)

String result = a.replace("\\","\\\\").replace("\"", "\\\"");

这将首先将所有\替换为\\,然后将所有"替换为\",如果这是您想要的。

请注意,反过来执行此操作会导致"最后被\\"替换,因为首先它会被\"替换,然后\将被\\替换为\\"

附加说明:您的数据字符串格式不正确且不应编译:它以\"结尾,这不是有效的字符串文字分隔符(文字以\\\\\"结尾,这将是字符串数据\\") - 将其更改为偶数个斜杠或在结尾添加另一个"以便解决此问题。

答案 1 :(得分:1)

前者。后者不是格式良好的Java代码。

答案 2 :(得分:1)

你是一个字符串错误,少报价

字符串a =“data = \”0 \“1 \”1 \“1 \”1 \“0 \”0 \“0 \”0 \“0 \”0 \“1 \”1 \“ 1 \ “1 \” 0 \ “0 \” 0 \ “0 \” 0 \ “1 \” 1 \ “1 \” 1 \ “1 \\\”“;

System.out.println(a.replace(“\”“,”\\\“”));

答案 3 :(得分:0)

由于“String result = a.replace(”“”,“\”“);”不编译,这是否回答了你的问题?