热敏打印,打印小票时,需要左中右对其,而中文字符和数字及英文字符打印占的位置不同,匹配中文字符时发现网上的教程都不怎么完善,故上传一个。

 protected int  getChinaNum(String str) {
int amount = 0;// 创建汉字数量计数器
String exp="^[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]$";
Pattern pattern=Pattern.compile(exp);
for (int i = 0; i < str.length(); i++) {// 遍历字符串每一个字符
char c = str.charAt(i);
Matcher matcher=pattern.matcher(c + "");
if(matcher.matches()) {
amount++;
}
}
return amount;
}

方法和简单,难点就是正则表达式,如有其他字符直接在exp后面添加就好 格式|\\+你想要匹配的字符。

更多相关文章

  1. Java中字符流和字节流到底有什么区别!!!
  2. java GBK字符转换成为UTF-8编码字符
  3. String字符串的应用
  4. java 正则表达式查找某段字符串中所有小写字母开头的单词并统计
  5. Javascript 检查字符串是否是数字的几种方法
  6. Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
  7. Java正则表达式提取字符
  8. JavaScript替换字符串中最后一个字符
  9. Java中怎么把字符串数组转为整形数组

随机推荐

  1. 如何删除图例饼图中的标题?
  2. jquery datepicker,即使是另一个具有共享
  3. 为什么这个jQuery。ajax不会引发错误吗?
  4. Jquery禁用/启用按钮与文本框代码
  5. jQuery中的bind绑定事件与文本框改变事件
  6. jQuery实例:输入框下拉提示,仿google sugg
  7. 从内部获取函数名称
  8. 你什么时候需要使用$(document).ready()?
  9. 使用Selectize和Ajax时,在Bootstrap模式中
  10. 使用数字作为javascript对象元素的名称