나는 string.split
기능을 사용할 수 있습니다.
String s = "My Street 10 90210 Beverly Hills";
String parts[] = s.split("\\s+(?=\\d+\\s+\\d+)|(?<=\\d+)\\s+(?=[A-Z])|(?<=\\d+)\\s+(?=\\d+)");
System.out.println(Arrays.toString(parts));
출력 :
[My Street, 10, 90210, Beverly Hills]
설명 :
\\s+(?=\\d+\\s+\\d+)
는 하나 개 이상의 숫자 더하기 하나 이상의 공백을 더한 또는 다음 않다면 하나 이상의 공백 만 일치 더 많은 자릿수. 집 번호 이전의 공간이이 조건을 만족시킬 것입니다. 그래서 일치했습니다.
|
교대 사업자라고.
(?<=\\d+)\\s+(?=[A-Z])
하나 이상의 숫자와 그 뒤에 대문자가 오는 하나 이상의 공백과 일치합니다. 따라서 문자열 city
앞의 공백은이 조건을 충족시키고 일치합니다.
(?<=\\d+)\\s+(?=\\d+)
이
는 자릿수에-모든 공백 일치한다. 집 번호와 우편 번호 사이의 공백이 일치합니다.
당신에게 원하는 출력을 줄 것이다 일치하는 공간에 따라 입력을 분할.
당신이 무엇을 시도했다 우리에게 보여 경우가 가장 잘 작동합니다. On 그래서 우리는 요청에 따라 코드를 작성하는 것을 선호하지 않습니다. 주문 사이트 프로그래밍이 아닙니다. –
제 질문은 사람들이 저를 특정 클래스/문서로 연결 시켜서 계속 읽고 필요한 정보를 얻을 수 있도록하기위한 것입니다. – Aphex
우편 번호는 항상 5 자리 숫자입니다. –