加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在不使用正则表达式的情况下检查字符串格式?

发布时间:2020-12-14 05:56:27 所属栏目:百科 来源:网络整理
导读:我正在做一个项目,我需要检查一个字符串是否格式正确ABC1234意味着3个字母后跟4个数字.我被告知不要使用正则表达式来解决这个问题. 我提出了以下代码,但它很笨重,所以我正在寻找更清洁,更高效的东西. String sample = ABC1234char[] chars = sample.toCharAr
我正在做一个项目,我需要检查一个字符串是否格式正确ABC1234意味着3个字母后跟4个数字.我被告知不要使用正则表达式来解决这个问题.

我提出了以下代码,但它很笨重,所以我正在寻找更清洁,更高效的东西.

String sample = ABC1234

char[] chars = sample.toCharArray();

if(Character.isLetter(chars[0]) && Character.isLetter(chars[1]) && 
   Character.isLetter(chars[2]) && Character.isDigit(chars[3]) && 
   Character.isDigit(chars[4]) && Character.isDigit(chars[5]) && 
   Character.isDigit(chars[6])){

    list.add(sample);
}

// OUTPUT: ABC1234 gets added to "list". When it prints,it appears as ABC1234.

所有输出都符合预期,但我知道这可以更高效或更好地完成.

我只是检查前3个字符来验证它们每个都是一个字母,最后4个字符应该是数字.

有什么建议?提前致谢.

解决方法

这是另一种方式.

String sample = "ABC1234";
if (sample.substring(0,3).chars().allMatch(Character::isLetter)
      && sample.substring(3).chars().allMatch(Character::isDigit)) {
  list.add(sample);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读