删除java中新行之前的空格

时间:2011-03-30 15:32:59

标签: java newline

我在字符串中的新行之前有一个空格并且无法删除它(在java中)。 我尝试过以下但没有任何作用:

strToFix = strToFix.trim();
strToFix = strToFix.replace(" \n", "");
strToFix = strToFix.replaceAll("\\s\\n", "");

6 个答案:

答案 0 :(得分:3)

myString.replaceAll("[ \t]+(\r\n?|\n)", "$1");

replaceAll将正则表达式作为参数。 [ \t]匹配一个或多个空格或制表符。 (\r\n?|\n)与换行符匹配,并将结果放入$1

答案 1 :(得分:1)

我相信你应该尝试这个:

strToFix = strToFix.replace(" \\n", "\n");

编辑:

我在原来的答案中忘记了逃脱。 James.Xu在他的回答中提醒我。

答案 2 :(得分:1)

试试这个:

  

strToFix = strToFix.replaceAll(“\\ n”,“\ n”);

'\'是正则表达式中的一个特殊字符,你需要使用'\'来逃避它。

答案 3 :(得分:0)

你确定吗?

String s1 = "hi     ";
System.out.println("|" + s1.trim() + "|");

String s2 = "hi     \n";
System.out.println("|" + s2.trim() + "|");

打印

|hi|
|hi|

答案 4 :(得分:0)

你确定它是一个你试图删除的空间吗?你应该打印字符串字节,看看第一个字节的值实际上是32(十进制)还是20(十六进制)。

答案 5 :(得分:0)

trim()似乎就像你在我的系统上做的那样。这是我使用的代码,也许你想在你的系统上试用它:

public class so5488527 {
    public static void main(String [] args)
    {
        String testString1 = "abc \n";
        String testString2 = "def \n";
        String testString3 = "ghi \n";
        String testString4 = "jkl \n";
        testString3 = testString3.trim();
        System.out.println(testString1);
        System.out.println(testString2.trim());
        System.out.println(testString3);
        System.out.println(testString4.trim());
    }
}