你好我想要组合字母和数字。我希望这个字符串是7长度。我的意思是创建例如AWE3133。它有3个字母和4个数字。它不允许有2222ARM或1A3M02A。字母和数字后面。我使用类UserInput来创建这个我试试这个:
public class wom{
static int user;
public static void Sixdas(){
System.out.println("Write");
user=UserInput.getString();
String test =user;
for(int i=0; i<test.length(); i++) {
if("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".indexOf(test.charAt(i))>-1){
System.out.println("True: " + test.substring(i, i+1));
}else{
System.out.println("False: " + test.substring(i, i+1));
}
}
}
答案 0 :(得分:3)
使用正则表达式怎么样?这样的事情:[A-Z]{3}[0-9]{4}
答案 1 :(得分:1)
只是为了给你一个想法:
public static final Pattern REGEX = Pattern.compile("^[A-Z]{3}\\d{4}$");
// or use [0-9] instead of \\d
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter String");
String input = br.readLine();
if (REGEX.matcher(input).matches()) {
System.out.println("True");
} else {
System.out.println("False");
}
}
答案 2 :(得分:0)
答案 3 :(得分:0)
发布完整的java代码以检查java中的正则表达式:
Pattern p = Pattern.compile("^[A-Z]{3}[0-9]{4}$");
Matcher m = p.matcher(stringToTest);
if(m.matches())
{
//stringToTest is ok
}