1. 程式人生 > >需求:拆分簡訊內容,按照160個字元進行拆分,簡訊內容是英文

需求:拆分簡訊內容,按照160個字元進行拆分,簡訊內容是英文

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

相關推薦

需求拆分簡訊內容按照160字元進行拆分簡訊內容英文

package com.demo.aaa; import java.util.ArrayList; import java.util.List; /** * Hello world! * */

小程式按照一天的時間分配顯示不同內容

本文章小案例是看到智聯招聘app的你進入首頁之前就會有一個小圓圈,根據所在的時間,來顯示問候語,比喻有:親愛的,早上好這種話語。 我這裡簡單做了一個類似的小dome,作為筆記。   我這裡按了幾個時間來進行分配,具體看你有什麼需要就改動。   0:00—6:00凌晨;6:00—11:00上午

數組排序不滿三位數值的按照原來的位數進行比較超過三位的取後面三位進行比較

排序第一步:首先要判斷數值的長度,先把他轉成字符串,在判斷位數,截取後面的三位進行比較var arr=[12432,34,535,89002,452,50]for(var i=0;i<arr.length;i++){arr[i]=arr[i].toString()if(arr[i].length>

題目乒乓球隊進行比賽各出三人。甲隊為a,b,c三人乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單a說他不和x比c說他不和x,z比請程式設計序找出三隊賽手大的名單。

通過迴圈巢狀安排對戰順序,再用if語句判斷避免參賽的隊員重複,最後通過題目要求篩選出符合題意的對手。 public class Test18 { public static void main(String[] args) { char a,b,c; for(a = 'x'; a &l

pythonYY校招試題--傳入一個數組進行排序奇數在前進行升序偶數在後進行降序

a = input() # 輸入使用空格進行進行間隔 num = [int(n) for n in a.split()] print(num) def mysort(a,ascending=True): # 插入排序,a為list陣列,ascending=True時升

Java 往TreeSet集合中儲存自定義物件學生按照學生的年齡進行排序。

Set:無序,不可以重複元素。|--HashSet:資料結構是雜湊表。執行緒是非同步的。保證元素唯一性的原理:判斷元素的hashCode值是否相同。如果相同,還會繼續判斷元素的equals方法,是否為true。|--TreeSet:可以對Set集合中的元素進行排序。底層資料

《ServerSuperIO Designer IDE使用教程》-3.Modbus協議讀取多暫存器實現多種資料型別解析。釋出v4.2.2版本

更新內容,v4.2.2版本:1.增加Modbus協議讀取多個暫存器,並且按多種資料型別解析資料。2.Modbus Serial和Modbus TCP兩個驅動合併成一個驅動。3.修改資料庫結構,儲存配置資訊。4.優化ServerSuperIO核心程式碼,應用過程中的潛在問題。 v4.2.2 下載地址:官方

python練習編寫一個函式isIn接受兩字串作為引數如果一個字串是另一個字串的一部分返回True否則返回False。

python練習:編寫一個函式isIn,接受兩個字串作為引數,如果一個字串是另一個字串的一部分,返回True,否則返回False。 重難點:定義函式的方法。使用str型別的find()函式,可以查詢多個字元。第二種方法為把字串轉化為字元佇列,然後遍歷尋找,但是隻可以尋找一個字元。 1 print(

C語言之定義一個函式實現對字串做如下操作字元為字母時大小寫互換字元為數字時原樣輸出當有其它字元出現時結束操作返回已處理的字串

Action(){       char str[]={"tEst234%^road"};int len = sizeof(str)/sizeof(char);//strTest2呼叫函式lr_output_message("%s",strTest2(str,len)); r

Java乒乓球隊進行比賽各出三人。甲隊為A、B、C三人乙隊為X、Y、Z 三人已經抽籤決定了比賽名單。已知A 不和X 比C 不和X、Z 比請問比賽名單是什麼。

兩個乒乓球隊進行比賽,各出三人。甲隊為A、B、C三人,乙隊為X、Y、Z 三人,已經抽籤決定了比賽名單。已知A 不和X 比,C 不和X、Z 比,請問比賽名單是什麼。 package com.jredu.ch0402.exer; /** * 兩個乒乓球隊進行比賽,各出三人。

C# ArcgisEngine開發中對一個圖層進行過濾只顯示符合條件的要素

layer style where sky 要求 我們 ase get filter 轉自原文 C# ArcgisEngine開發中,對一個圖層進行過濾,只顯示符合條件的要素 有時候,我們要對圖層上的地物進行有選擇性的顯示,以此來滿足實際的功能要求。 按下面介紹的

寫完批處理腳本再寫Gradle腳本解放雙手

這一 ace 為什麽 groov filter strip 原創 docs 自己 前言 上一篇寫個批處理來幫忙幹活---遍歷&字符串處理中,我們已經學習如何寫批處理腳本來幫我們做一些簡單的重復性工作,本篇繼續來學習如何用 Gradle 寫腳本,讓它也來幫我們幹活 G

有一字串包含n字元。寫一函式將此字串中從第m字元開始的全部字元複製成為另一個字串。

import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanne

c語言 兩乒乓球隊進行比賽各出3人A說他不和x比C說他不和xz比 找出3對賽手的名單

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

iOS 開發 WKWebView載入網頁對網頁控制元件進行更改使用OC新增JS

//獲取載入的網頁 - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void

python中如何將多行進行輸出同時將行尾的換行符去掉

需求說明:   比如我要輸出字串的常量,字串常量要輸出多行,該怎麼解決呢 操作過程: 1.可以通過三引號(""" .... """)將要輸出的內容擴起來 >>> print(""" Usage: thingy [OPTIONS] -h

Java 兩乒乓球隊進行比賽各出三人。甲隊為a,b,c三人

 兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。 已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比, 請程式設計序找出三隊賽手的名單。 方法一:(個人認為方法二更好理解) for(char i ='x';i<='

編寫程式碼演示多字元從兩端移動向中間匯聚。

int main() { char arr1[] = "welcome to bit!!!!!!"; char arr2[] = "####################"; int left = 0; int right = strlen(ar