从Java字符串中删除无效的转义序列

时间:2017-10-24 20:41:36

标签: java

我在json字符串中有一个无效的转义序列。顺序是:

  

'ngram':“'s \ xa0cancer prevention”

我一直试图通过用空字符串替换它来完全删除这个序列,但是每次尝试都失败了。我尝试了以下方法:

qumlsOutputAsJson = qumlsOutputAsJson.replaceAll("[^\\x20-\\x7E]", "");

qumlsOutputAsJson = qumlsOutputAsJson.replaceAll("\\.", "");

甚至是例程:

    private String removeNonAscii(String text){
    String asciiText = "";
    for (char aChar: text.toCharArray()){
        if((int)aChar<=0x7F)
            asciiText = asciiText + Character.toString(aChar);
    }
    return asciiText;
}

所有人都失败了。

我确信有一个明显的方法,但任何方向都非常赞赏。

1 个答案:

答案 0 :(得分:2)

使用replaceAll,您需要转义反斜杠,即"\\\\",""

如果您刚刚使用replace,则应该按预期工作

qumlsOutputAsJson = qumlsOutputAsJson.replaceAll("\\\\", "");