需求:拆分短信内容,按照160个字符进行拆分,短信内容是英文

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xing930408/article/details/80786402

package com.demo.aaa;

import java.util.ArrayList;
import java.util.List;

/**
 * Hello world!
 *
 */
public class App {
    
	
	private static int splitLen = 10;
	
	public static void main( String[] args ){
		
		String contents ="           iuy   012341112  12A9999977  a  12344 bcjs sisisisij  sjssye 19394 882373 s9sjj9878 i           ";
	
		List<String> contentList = new ArrayList<String>();
		
		try {
			splitStr( contents,contentList) ;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(contentList.size());
		for(String str:contentList) {
			System.out.println(str);
		}
		
    }
	
	
	
	public static void splitStr(String contents,List<String> contentList) throws Exception {
		
	
		int len = splitLen+1;
		if(contents!=null && contents.trim().length()==0) {
			
			return ;
		}else if(contents.length()<splitLen+1) {
			
			len = contents.length();
			contentList.add(contents);
			return ;
		}
		
		int index = 0;
		boolean errorFlag = true;
		String tempStr = contents.substring(0, len);
		char[] chr = tempStr.toCharArray();
		//空格
		if(Character.isSpaceChar(chr[chr.length-1])) {
			
			errorFlag=false;
			index = len-1;
		}else {
			//说明这是一个单词
			for(int i = chr.length-2;i>=0;i--) {
				
				if(Character.isSpaceChar(chr[i])) {
					
					index = i;
					errorFlag=false;
					break;
				}
			}
		}
		if(errorFlag) {
			throw new Exception("数据错误");
		}
		tempStr = contents.substring(0, index);
		contents= contents.substring(index+1, contents.length()).trim();
		if(tempStr.trim().length()>0) {
			contentList.add(tempStr.trim());
		}
	
		splitStr(contents,contentList); 
	}
	
}

猜你喜欢

转载自blog.csdn.net/xing930408/article/details/80786402