Java에서 정규식을 사용하여 숫자 문자열을 분할하고 싶습니다. 나는 온라인 정규식 테스터를 사용하여 정규식을 테스트한다. 하지만 자바가 잘못되었습니다.자바에서 정규식을 사용하여 숫자 문자열 분할
Pattern pattern = Pattern.compile("[\\\\d]{1,4}");
String[] results = pattern.split("123456");
// I expect 2 results ["1234","56"]
// Actual results is ["123456"]
무엇이 있습니까?
나는이 질문이 지루하다는 것을 알고있다. 하지만이 문제를 해결하고 싶습니다. 답변
Pattern pattern = Pattern.compile("[\\d]{1,4}");
String[] results = pattern.split("123456");
// Results length is 0
System.out.println(results.length);
가 작동하지 않습니다. 나는 그것을 시도했다. 결과에는 아무 것도 반환하지 않습니다. 대답하기 전에 시도하십시오.
저를 도운 사람들에게 진심으로 감사드립니다.
솔루션 :
Pattern pattern = Pattern.compile("([\\d]{1,4})");
Matcher matcher = pattern.matcher("123456");
List<String> results = new ArrayList<String>();
while (matcher.find()) {
results.add(matcher.group(1));
}
출력이 개 결과 [ "1234", "56"]
split은 구분 기호 사이에 * 분리 문자를 * 구분 기호로 반환하므로 분리 기호 자체를 버리기 때문에 빈 배열이 나타납니다. 아마도 도움이 될 것입니다. http://stackoverflow.com/questions/2206378/how-to-split-a-string-but-also-keep-the-delimiters http://stackoverflow.com/questions/275768/is-there -a-way-to-split-strings-with-string-split-and-the-delimiters – Thilo
이제 알겠습니다. 도와 주셔서 감사합니다. –