用空格替换选项卡

Cho*_*lds 1 java tabs

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

while (lineOfText != null)
   {
       if (lineOfText.contains(remove))
       {
           lineOfText = " ";
        }
       outputFile.println(lineOfText);
       lineOfText = inputFile.readLine();
   }
Run Code Online (Sandbox Code Playgroud)

我试过运行它,但它没有用一个空格替换选项卡.有解决方案吗

Ell*_*sch 5

标签不是三个空格.这是你与逃生获得特殊字符,特别是final String remove = "\t";

if (lineOfText.contains(remove))
    lineOfText = lineOfText.replaceAll(remove, " ");
}
Run Code Online (Sandbox Code Playgroud)

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

lineOfText = lineOfText.replaceAll(remove, " ");
Run Code Online (Sandbox Code Playgroud)

  • 如果你没有使用正则表达式,请使用`replace()`. (2认同)

Dan*_*aku 5

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

lineOfText.replaceAll("\\s", " ");
Run Code Online (Sandbox Code Playgroud)

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