拆分功能不起作用

时间:2014-02-08 10:39:46

标签: java string split

这是一个函数,它接受一个长字符串并返回一个分段的字符串。

问题是k是空的。为什么split()功能不起作用?

private String ConvertSentenceToParaGraph(String sen) {
    String nS = "";
    String k[] = sen.split(".");

    for (int i = 0; i < k.length - 1; i++) {
        nS = nS + k[i] + ".";
        Double ran = Math.floor((Math.random() * 2) + 4);

        if (i > 0 && i % ran == 0) {
            nS = nS + "\n\n";
        }
    }
    return nS;
}

5 个答案:

答案 0 :(得分:5)

String.split(String regex)采用正则表达式。点.表示每个字符&#39;。如果要拆分点字符,则必须将其\\.转义。

答案 1 :(得分:4)

split需要正则表达式,"."是&#34;任何字符&#34;的正则表达式。如果要拆分每个.字符,则需要将其转义:

String k[] = sen.split("\\.");

答案 2 :(得分:3)

split()方法采用正则表达式。 .是一个元字符,它匹配除换行符之外的任何字符。你需要逃脱它。使用:

String k[] = sen.split("\\.");

答案 3 :(得分:2)

变化:

sen.split(".");

要:

sen.split("\\.");

答案 4 :(得分:1)

如果要分割点,则需要转义点:

String k[] = sen.split("\\.");

.分割正则表达式.,表示任何字符。