1. 程式人生 > >JAVA擷取中英文混合字串

JAVA擷取中英文混合字串

##JAVA擷取中英文混合字串

import java.io.*;
class test  
{
	public static void main (String[] args) throws java.lang.Exception
	{
	    StringBuffer sb = new StringBuffer();
		String str = "m我abc你好";
		int index=3;  //定義擷取的長度
		int charLength = 0; 
		int strLength = str.length();  //獲取字元的長度
		for (int i = 0;i<strLength ;i++ ){
		    int asciiCode = str.codePointAt(i);
		    //將每個字元裝換為ASCII編碼
		    if (asciiCode >=0 && asciiCode<=255){
		    //判斷ASCII編碼的範圍,就是判斷是否為漢字
		        charLength+=1; //非漢字字元長度加1
		    } else{
		        charLength+=2;//漢字字元長度加2
		    }
		    if (charLength<=index) {
		        sb.append(str.charAt(i));//擷取字元
		    }else{
		        break;
		    }
		   
		}
		 System.out.println(sb.toString()); 
	}
}