java - 用空格替换转义字符

标签 java replace space

有人要求我用空格替换字符串中的转义字符。

我一直在尝试如下

String replace(String data)
    {
        String strSpecial = "";
        strSpecial = " \f\n\r\t\'\"\\";     

        char charArray[] = strSpecial.toCharArray();
        String strOutData = data;
        for (int i =0;i<charArray.length;i++)
        {  
              strOutData = strOutData.replace(charArray[i], ' ');
    }       
        return(strOutData);

    }

我收到错误 - “未终止的字符串常量”

当我使用任何字符而不是空格来替换转义字符时,它起作用了。

请推荐

谢谢 桑迪普

最佳答案

我会使用正则表达式:

String replace(String data) {
    return data.replaceAll("[\f\n\r\t\'\"\\\\]", " ");
}

注意实现单个文字正则表达式反斜杠所需的 4 个反斜杠;字符串文字中的每对反斜杠在字符串中构成一个文字反斜杠,而字符串中生成的一对反斜杠在正则表达式中构成一个文字反斜杠。

关于java - 用空格替换转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23014823/

相关文章:

string - Sed 在 vi​​ 中的行为与同一服务器上的命令行不同

shell - 在 unix shell 脚本中用空格替换换行符

html - 单词之间消失的空格

java - 动态规划 - 图论

java - 错误 : Before start of result set in Java

Php从字符串的最后一个字符中删除特殊字符

python - 如何创建循环来替换可变数量的行

html - 网站中间的空白

java - 数组和字符串充当对象

java - 无法使用 Java 连接到 Azure 上的 Postgres 数据库