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 언어에 속합니다"라고 말하기에 충분합니다. –
무엇이 문제입니까? –