java截取字符串中字節長度【轉】


public static String subStr(String str, int subSLength)    { 
		    String  subStr ="";
		    try {
		       if (str == null) return "";    
		       else{   
	                int tempSubLength = subSLength;//截取字節數  
	                 subStr = str.substring(0, str.length()<subSLength ? str.length() : subSLength);//截取的子串    
	                int subStrByetsL = subStr.getBytes("GBK").length;//截取子串的字節長度     
	                // 說明截取的字符串中包含有漢字    
	                while (subStrByetsL > tempSubLength){    
	                    int subSLengthTemp = --subSLength;  
	                    subStr = str.substring(0, subSLengthTemp>str.length() ? str.length() : subSLengthTemp);    
	                    subStrByetsL = subStr.getBytes("GBK").length;    
	                }    
	            }  
		    } catch (Exception e) {
		    	System.out.println(e.getMessage());
		    }
		    return subStr;   
		 } 

 

public static void main(String[] args) {
			String name = "踩踩踩12411測114測";
			System.out.println("字符串長度"+name.length());
			System.out.println("截取字符串前10個字節的結果"+subStr(name,10));
		}

 

 結果:

原字符串值:踩踩踩12411測114測
字符串長度:13
截取字符串前10個字節的結果:踩踩踩1241

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM