可自设定长度,根据各种标点符号去分隔字符串

public class Test {


public static void main(String[] args) {

String content="去年11月底,在《长江7 号》北京新闻发布会上,周星驰向媒体描述自己的神奇经历,他说自己见过两次UFO。第一次看见UFO 的时候,当时周星驰正在香港无线电视艺员第十一期夜训班读书。晚上开工拍《430 穿梭机》,他无意中抬头,看到头顶上有东西飞过,白色的,有月亮那么大小,一直飞过远方的山顶。多年后,周星驰去夏威夷旅游。他晚上躺在沙滩上,看天上的星星。满天繁星,发现其中一个会动,还动了半个小时。“我想不出来,除了UFO,它还能是什么东西。”周星驰说。";
new Test().subString(content);
}



public void subString(String content)
{
String []str=new String[1000];
int j=0;
int length=content.length();
int start=0;
int len=0;

while(len<=length)
{

if ((start+50)>length) //此处设置文字长度
{
len=length-start;
len=start+len;
}
else
{
len=start+50; //此处设置文字长度,必须和上面长度一样
}

if (len==length)
{
str[j]=content.substring(start, len);
break;
}

for (int i=len;i>start;i--)
{
String c=new Character(content.charAt(i)).toString();
if (c.equals(".")||c.equals("。")||c.equals(",")||c.equals(",")||c.equals("!")||c.equals("!")||c.equals("?")||c.equals("?"))
{
len=i;
break;
}
}

str[j]=content.substring(start, len+1);
start=len+1;
j++;
}

StringBuffer str2=new StringBuffer();
int k=0;
while (str[k]!=null)
{
System.out.println(str[k]);
k++;
}


}

}

你可能感兴趣的:(C++,c,C#,读书,旅游)