나는 두 문자열이자바 문자열를 단락 정규식
String myarray[] = input.split("\\s*(->|:|\\s)\\s*");
내가 문자열 하나가 작동하고, 그 결과를 테스트 장치입니다 괜찮아요 날 정확히 배열에 3 반환하지만 두 번째 문자열 2 그것은 배열의 빈 공간을 반환합니다.
내가 뭘 잘못하고 있니? 도와주세요. 즉 [A-Z0-9]+
-
감사
문자열이 반환 배열의 3 개 요소는 [ 'D', 'C']
나는 두 문자열이자바 문자열를 단락 정규식
String myarray[] = input.split("\\s*(->|:|\\s)\\s*");
내가 문자열 하나가 작동하고, 그 결과를 테스트 장치입니다 괜찮아요 날 정확히 배열에 3 반환하지만 두 번째 문자열 2 그것은 배열의 빈 공간을 반환합니다.
내가 뭘 잘못하고 있니? 도와주세요. 즉 [A-Z0-9]+
-
감사
문자열이 반환 배열의 3 개 요소는 [ 'D', 'C']
당신은 수도와 숫자를 원한다.
String myarray[] = input.replaceAll("^[^A-Z0-9]+|[^A-Z0-9]+$", "").split("[^A-Z0-9]+");
BTW 게시 된 코드가 [D, C]
[route, D, C]
하지 생산할 것이다 : 같이, 다음,
[^A-Z0-9]+
을 즉 일치하지 않는 문자에 분할 - 가장 간단한 방법은 모든 주요와 일치하지 않는 문자를 후행 제거하는 것입니다
다음과 같이하십시오 :
String myarray[] = two.split("\\s*(->|:)\\s*");
당신은 일치하지 않는 차를 처리하기 위해 별도의 로직을 작성해야합니다 이 경우에는 "라우트"를 좋아합니다.
문자열 2의 반환 값은 무엇입니까? 어떤 공간을 캡처하고 있습니까? – cxw
'[A-Z \\ d] +'......... –
@cxw 나는 나의 질문을 편집했다. 봐주세요. – Maverick