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

前端之家收集整理的这篇文章主要介绍了如何在不使用正则表达式的情况下检查字符串格式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做一个项目,我需要检查一个字符串是否格式正确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);
}

猜你在找的正则表达式相关文章