用空格替换选项卡

时间:2017-01-03 23:31:56

标签: java tabs

final String remove = "   " // tab is 3 spaces

while (lineOfText != null)
   {
       if (lineOfText.contains(remove))
       {
           lineOfText = " ";
        }
       outputFile.println(lineOfText);
       lineOfText = inputFile.readLine();
   }

我尝试运行此功能,但它不会用一个空格替换选项卡。有解决方案吗

2 个答案:

答案 0 :(得分:5)

Tab不是三个空格。这是一个特殊的角色,你通过逃脱获得,特别是final String remove = "\t";

if (lineOfText.contains(remove))
    lineOfText = lineOfText.replaceAll(remove, " ");
}

或删除if(因为replaceAll不需要它),例如

lineOfText = lineOfText.replaceAll(remove, " ");

答案 1 :(得分:0)

您可以简单地使用此正则表达式将String中的任何类型的转义符(包括制表符,换行符,空格等)替换为所需的转义符:

lineOfText.replaceAll("\\s", " ");

在此示例中,在名为 lineOfText 的字符串中,我们用空格替换了所有转义符。