No,
it's exactly the same as WordUtils.wrap( String, int, String, boolean).
Well, forget interrupt then. Thank you for the tip. I didn't know WordUtils till now.

Chris.

Stephen Colebourne wrote:
This looks vaguely similar to the methods in WordUtils. Possibly it could be done as an adjustment to one of those, although I don't know how common a case it is.

Stephen


C. Grobmeier wrote:
Hello all,

building my websites guestbook, i figured out that somebody entered a big string (exactly: an URL). This blew up my complete layout. HTML doesn't give any solution on this, you simply can't break up this stupid long string.

Looking at commons lang i found a lot of join/split-operations, but it seems that never anybody needed something of a "separate after 20 characters with a blank"-function. Well, i am not sure if ever somebody REALLY needs this besides me, but you'll never know. So i decided to let take you a look at my method (attached).

OK, i know it's not the very best method in the world (at least it midnight and i was at a whiskey tasting this evening), but if somebody thinks it could be useful to be included in org.apache.commons.lang.StringUtils i will improve it and would be glad to contribute "interrupt()" to you. If somebody has a better idea than this, your comments are welcome.

Let me know.
Having said this, good night.

- Chris


------------------------------------------------------------------------

/**
* Interrupts the string text after the max number of characters * with the given seperator. Before this operation is beeing done, a split * operation with the seperator is beeing fullfilled. This means that seperator
 * is beeing trimmed from the beginning and the end of the string.
 *   * @param text - the String which has to be interrupted
 * @param seperator - the seperator to interrupt with
* @param max - maximal occurencies of other characters before the string is beeing interrupted
 * @return the interrupted string, null if the text is null
 */
public static String interrupt(String text, String seperator, int max) {
    if(text==null) {
        return null;
    }
    if(seperator == null) {
        seperator = " ";
    }
String[] array = StringUtils.split(text, seperator);
    StringBuffer result = new StringBuffer();
for(int i=0; i < array.length; i++) {
        String value = array[i];
        if(i > 0) {
            result.append(seperator);
        }
int length = value.length();
        if(length > max ) {
            int pieces = length / max;
            float mod = length % max;
            if(mod>0) {
                pieces++;
            }
            int c = 0;
            while( c < pieces ) {
                if(c>0) {
                    result.append(seperator);
                }
                result.append(StringUtils.mid(value, c*max, max));
                c++;
            }
        } else {
            result.append(value);
        }
    }
    return result.toString();
}


------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to