如何将长字符串分成段落

时间:2014-12-28 07:07:13

标签: java

我有一个长度为1000-1500个字符的字符串。我想把它分成段落。我现在在做的是:

String tempDisplayText =
    "this is the long...... string of length 1000-2000 chars";
String displayText = null;
if (tempDisplayText != null && tempDisplayText.length() > 400) {
    int firstFullStopIndex = tempDisplayText.indexOf(". ", 350);
    if (firstFullStopIndex > 0) {
        displayText = "<p>"
                + tempDisplayText.substring(0, firstFullStopIndex)
                + ".</p><p>"
                + tempDisplayText.substring(firstFullStopIndex + 1)
                + "</p>";
        feed.setDisplayText(displayText);
    }
}

此代码工作正常,但仅将整个字符串分为2个段落。但是有一段时间,下一段太冗长,从而失去了它的可读性。有没有标准的方法将字符串分成Java中的段落?

1 个答案:

答案 0 :(得分:0)

我认为没有理由不为其余部分重复这一点,即第二段。你不能分开一个句子。

StringBuilder sb = new StringBuilder();
if (tempDisplayText != null) {
    int firstFullStopIndex;
    while( tempDisplayText.length() > 400
       && 
       (firstFullStopIndex = tempDisplayText.indexOf(". ", 350)) >= 0 ){
    sb.append( "<p>" );
    sb.append( tempDisplayText.substring(0, firstFullStopIndex) );
    sb.append( ".</p>" );
    tempDisplayText = tempDisplayText.substring(firstFullStopIndex + 1);
    }
    if( tempDisplayText.length() > 0 ){
        sb.append( "<p>" ).append( tempDisplayText ).append( "</p>" );
    }
    tempDisplayText = sb.toString();
}