首页 > 代码库 > 一道很不错的字符分割题

一道很不错的字符分割题

刚在stackoverflow看到一道很不错的问题,遂拿来分享之。

题目要求:我有一个很长的字符串:

String s1="This is my world. This has to be broken."

我要把上面的字符串打乱以固定的长度(例如10)使得输出为:

This is my
    world. Thi
    s has to b
    e broken.
但是我想让输出包含原来的字符的同时不不分开一个词使得输出如下:

This is my
    world.
    This has 
    to be 
    broken.

下面是一个完整的程序。

/**
author :marksaas
blog: http://www.marksaas.com
交流群:199326422
time:2014/5/8

*/
public class StringTest{
public static void main(String[] args){
	int limit=10;
	String s="This is my world. This has to be broken.";
	String[] words=s.split(" ");
	StringBuilder sb=new StringBuilder();
	for(String word:words){
	sb.append( word );
	if( sb.length()> limit ) {
        // Next word wraps
        System.out.println( sb );
        sb.setLength( 0 );
    }
    else {
        // Otherwise add to current line
         sb.append( ‘ ‘ );
    }
}
// Handle final line
System.out.println( sb );
}
} 


此文章页发表于我博客www.marksaas.com。

如果你有更好的方法,欢迎在下面留言,如果运行正确,我将会把它更新到我的博客上来。