简体   繁体   中英

How to break long strings into paragraphs

I have a String of length 1000-1500 chars. I want to divide the same into paragraphs. What I am doing now is:

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);
    }
}

This code is working fine, but divides the whole string into 2 paragraphs only. But some time the next paragraph is too lengthy thus looses its readability. Is there any standard way to divide strings into paragraphs in Java?

I see no reason why you shouldn't repeat this for the remainder, ie, the second paragraph. You can't split a sentence.

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();
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM