我需要使用Java正則表達式進行一點刷新。使用正則表達式拆分字符串
我基本上想檢測一個無效的字符串輸入,如果它是有效的,我會用它做一些事情。
的數據可以是形式
New York,Los Angeles
或只是
New York
城市的名稱變化當然的,所以可具有其它形式,例如
Orlando,West Palm
Miami,Stuart
Stuart
Pompano, Satellite Beach
所以基本上我想檢測這兩種類型的字符串格式
- 任意長度的只有大寫和小寫字母和空格的字符串,後跟一個逗號,然後是任意長度的只有大寫和小寫字母和空格的其他字符串,它與逗號之間沒有空格。
- 的僅大寫和小寫字母 任何長度的單串
可以有除了第一串中該單個逗號或者串中沒有數字或標點符號。所以額外的逗號也被禁止。
這裏是我試過到目前爲止:
try
{
file = new Scanner(new File(f));
int i = 1;
while(file.hasNext())
{
String[] cities;
String data = file.nextLine();
if(data.matches("[a-z A-Z]+,[a-z A-Z]+$"))
{
cities = data.split(",");
flightLog.addPath(cities[0], cities[1]);
}
else if(data.matches("[a-z A-Z]$"))
{
flightLog.addCity(data);
}
else
System.out.println("Line" + i + " is invalid\n");
++i;
}
}
catch (FileNotFoundException e)
{
System.out.println("File does not exist");
}
}
是什麼?你嘗試了嗎? –
Java標籤足以說「此問題屬於Java語言」 –
問題是什麼? –