我正在开发一个用户将插入车辆ID的应用程序。
在我们国家/地区,ID始终为3个字母和4个数字。
如何检查String
是否在Java中有X个数字和Y个字母?
答案 0 :(得分:3)
您可以简单地使用正则表达式。类似的东西:
if(vehicleId.matches("^[A-Z]{3}\d{4}$"))
(假设id包含三个大写字母后跟四位数字。)
如果vehicleId
(假定是保存用户输入的变量)匹配,则会返回一个布尔值。
答案 1 :(得分:1)
这个问题有很多解决方案。我不会给你一个完整的解决方案,但会尽力指导你。
一种解决方案是迭代字符串char-by-char。 Character
类包含许多用于此任务的有用方法。
其他解决方案是使用带有空字符串的正则表达式和replaceAll
非数字字符(\D
)。从这里到答案的方式很短。
答案 2 :(得分:-2)
void AnalyzeString(String input)
{
int size= input.length();
int digitsCount=0;
int nonDigitsCount=0;
for(int i =0; i<size; i++)
{
char ch = input.charAt(i);
if(Character.isDigit(ch)) digitsCount++;
else nonDigitsCount++;
}
System.out.println(digitsCount + " digits and " + nonDigitsCount +
" non digits were found in string");
}