项目场景:

项目中需要将人员姓名进行截取然后默认显示在头像中,但中英文有不同的要求,因此通过正则匹配做了一下判断,做此记录


解决方案:

public static String subAvatarName(String name) {String notBlankName = name.replace(" ", "");if (StringUtils.isEmpty(notBlankName)) {return "";}if (name.length() > 1 && isAlpha(notBlankName)) {//纯英文时取首字母name = findFirstLetter(name);} else {if (notBlankName.length() > 1 && isChinese(notBlankName)) {//纯中文时取去除空格后的后两位name = notBlankName.substring(notBlankName.length() - 2);} else if (notBlankName.length() > 1 && !isChinese(notBlankName)) {//中英混合取去除空格后前两位name = notBlankName.substring(0, 1);}}int maxLength = 4;if (name.length() > maxLength) {name = name.substring(0, maxLength);}return name;}/*** 判断是否是字母** @param str 传入字符串* @return 是字母返回true,否则返回false*/public static boolean isAlpha(String str) {if (str == null) {return false;}return str.matches("[a-zA-Z]+");}/*** 获取英语首字母** @param str 输入* @return 输出*/public static String findFirstLetter(String str) {StringBuilder result = new StringBuilder();String regex = "\\b[a-zA-Z]";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(str);while (matcher.find()) {result.append(matcher.group());}return result.toString();}/*** 判断是否纯中文** @param str 输入* @return 纯中文返回true*/public static boolean isChinese(String str) {String regex = "[\u4e00-\u9fa5]";Pattern pattern = Pattern.compile(regex);for (int i = 0; i < str.length(); i = i + 1) {if (!pattern.matcher(String.valueOf(str.charAt(i))).find()) {return false;}}return true;}

判断字符串是否为纯英文或纯中文相关推荐

  1. PHP判断字符串是纯英文、纯汉字或汉英混合

    PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128 外还有一种比较特别的方法. 使用php中的mb_strlen和strlen函数判断 方法比较简单:分 ...

  2. python判断纯英文和纯数字

    首先转为UTF-8,否则会把中文判断为isalpha str = str.encode('UTF-8') 1.判断纯英文字母 str.isalpha() 2.判断纯数字 str.isdigit() 3 ...

  3. shell判断字符串变量是否为空,包括纯空格、空串、回车行是空白行等

    在 shell 脚本中,可以使用 -z 判断一个字符串变量是否为空. 例如: if [ -z "$var" ]; thenecho "var is empty" ...

  4. JS判断字符串中的内容是否为纯数字

    var str1 = "123" var str2 = "123测试文字"// 将字符串转为数字(不能使用parseInt,parseInt会忽略字符串中的非数 ...

  5. python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录

    第一种方法: #-*- coding:utf-8 -*- import re def check(str): my_re = re.compile(r'[A-Za-z]',re.S) res = re ...

  6. 纯英文换行的css,利用CSS实现纯英文数字自动换行

    下面为大家带来一篇CSS代码使纯英文数字自动换行的简单实现.内容挺不错的,现在就分享给大家,也给大家做个参考. 当一个定义了宽度的块状元素中填充的全部为纯英文或者纯数字的时候,在IE和FF中都会撑大容 ...

  7. Java判断字符串包含英文

    /** 判断字符串中是否含有英文,包含返回true*/ private boolean isENChar(String string) {boolean flag = false;Pattern p ...

  8. 判断字符串是否是英文

    1.判断字符串中是否全为英文 boolean result = str.matches("[a-zA-Z]+");    //true:全文英文   str.matches(&qu ...

  9. python3 判断字符串是否包含中英文和数字

    import redef check_contain_chinese(check_str):"""判断字符串中是否含有中文字符"""for ...

  10. python判断是否是英文字母_用python如何判断字符串是纯英文

    用python如何判断字符串是纯英文 发布时间:2020-11-11 09:31:24 来源:亿速云 阅读:97 作者:小新 这篇文章主要介绍用python如何判断字符串是纯英文,文中介绍的非常详细, ...

最新文章

  1. CSDN博客导出备份工具
  2. ASP.NET 常用验证
  3. Python爬虫开发:贴吧案例
  4. Android AppWidgetProvider应用
  5. Fedora 17 install VMWare tool
  6. MFC 类库结构 总结
  7. DRD:线程错误检测器
  8. 信息学奥赛一本通 1065:奇数求和 | OpenJudge NOI 1.5 09
  9. 网络/系统调试维护笔记
  10. JavaJDBC【三、增删改查】
  11. 分项:我从世界上最成功的人身上学到的10件事
  12. KubeEdge 实践过程的记录
  13. 一个程序,让你清楚区分二进制文件和文本文件
  14. SSM excel文件的导入导出基于apache poi
  15. 斐讯盒子N1/T1_通用超精简刷机固件分享及教程
  16. abaqus2021详细安装教程
  17. 联想第二季度业绩持续走强 营业额连续9个季度实现年比年增长 税前利润及净利润增长势头强劲
  18. 计算机控制台咋用,怎么使用控制台?饥荒海难控制台使用教程
  19. 海思AI芯片(Hi35XX): 图像jpg转.bgr
  20. java定时任务原理,东软集团java面试题

热门文章

  1. AIDL中should be declared in a file错误
  2. Conversion of feet/inches to meters-英尺、英里装换为米
  3. pspice仿真过程中出现Less than 2 connections at node
  4. 企鹅日记(十一):账号管理与ACL权限设置
  5. 学习笔记1——常用的注意力机制(即插即用)
  6. 端口输出报错**Error** test5.ASM(60) Constant too large
  7. 8051蜂鸣器程序c语言,单片机有源蜂鸣器试验程序(带电路图)
  8. Python 实现超级玛丽游戏
  9. 基于TCP的在线聊天室
  10. 《自控力》——[美]Kelly McGonigal