java 汉、日、韩文字符长度为2,ASCII码等字符长度为1

	public  String formateGameSimpleInfoNm(String s, int n) {   
		Pattern p = Pattern.compile("^[\\u4e00-\\u9fa5]{1}quot;);
		int i = 0, j = 0;
		
		for(char c : s.toCharArray()) {
			Matcher m = p.matcher(String.valueOf(c));
			i += m.find() ? 2 : 1;
			++j;
			if(i == n) break;
			if(i > n) {
				--j;
				break;
			}
		}
		
		if(s.equals(s.substring(0, j))) {
			return s.substring(0, j);
		}else {
			return s.substring(0, j) + "...";
		}

	}


 

百度上看到的

你可能感兴趣的:(java 汉、日、韩文字符长度为2,ASCII码等字符长度为1)