这个问题很多人问过了我给出过代码,可以解决你的问题,不过觉得不是太好,希望有好方法的来讨论下!下面是代码示例:public class SubStringWithChinese{ public static String getSubString(String src,int length) { String ititle=src; char[] ct=ititle.toCharArray(); int sum=0; for(int c=0;c<ct.length;c++) { if(Character.getType(ct[c])==5) sum+=2; else sum+=1; } if(sum>length) { char[] temp=new char[length]; int t=0; for(int c=0;c<length-1;t++) { if(Character.getType(ct[t])==5) { temp[t]=ct[t]; c+=2; } else { temp[t]=ct[t]; c+=1; } } ititle=new String(temp); return ititle; } else return src; } public static void main(String args[]) { String test="我abc哈哈"; System.out.println(getSubString(test,6)); }}