奇怪的String.split(“\ n”)行为

时间:2013-04-10 11:24:22

标签: java regex

我尝试拆分name,但没有使用拆分方法的尝试工作

public void insertUpdate(DocumentEvent e) {
   String name="PU_Y"+
               "PU-x"+
               "Pu-z";

    split = name.split("\\r\\n");
    split = name.split("\r\n");
    split = name.split("[\r\n]+");
    split = name.split("[\\r\\n]+");
    split = name.split("\\r?\\n");
    // I tried using all the above to split above string but was not successful
}

请帮助拆分此字符串

2 个答案:

答案 0 :(得分:6)

您的字符串根本不包含任何换行符。你在多行上连接它的事实没有做任何事情。您的陈述相当于:

String name = "PU_Y" + "PU-x" + "Pu-z";

String name = "PU_YPU-xPu-z";

你可能意味着:

String name = "PU_Y\r\n" +
              "PU-x\r\n" +
              "Pu-z";

使用该更改重新测试正则表达式。

答案 1 :(得分:5)

您的字符串中没有换行符,每次开始换行时,您都将字符串连接为一个语句。

你的字符串将是:

"PU_YPU-xPu-z"

如果你想要换行,在每行终止字符串之前在字符串中放一个\r\n

String name="PU_Y\r\n"+
            "PU-x\r\n"+
            "Pu-z\r\n";