2015-11-04 80 views
0

我一直在探討這一點,我覺得如果將字符串(AAAA-123或AAA123)拆分爲2個字符串並進行比較,可能是最好的。我可以確保它們都是數字字符,但要確保它們的格式正確,我不覺得我必須錯過某些東西。如何檢查字符串的前四個字符是否爲A-G,最後3個字符是數字?

Name = txtfClass.getText(); 
     if((Name.length()==8)&&(Name.matches("[a-gA-G]-\\d{3}"))){ 
      checker(Name); 
      System.out.println("it works"); 
     } 

當Name = ABCD-123時,該代碼將不起作用。我錯過了什麼?如果你想知道這裏檢查(名稱)雲:

public boolean checker(String name){ 
    CourseAbrv = name.substring(0, 4); 
    System.out.println(CourseAbrv); 
    return false; 
} 

不會返回任何

回答

1

您正則表達式更改爲Name.matches("[A-G]{4}-\\d{3}")[a-gA-G]匹配單個字符。

注意:這隻相匹配資本A-G。您可以使用a-g而不是A-G來匹配小寫字母。

+0

也許你可以更新答案,包括僅限於A-G大寫和僅限於小寫的另一個。很確定有些人會去那裏。 :) –

+0

@SajalDutta - 完成 – TheLostMind

相關問題