공백이 있고 허용 된 전화 번호를 사용하는 경우 정규식을 사용하여 형식을 지정하면 비 숫자와 여분의 공백이 제거되지 않으므로 어떻게해야합니까? REGEX로 전화 번호부에
나는이 지금까지이String num = " Ken's Phone is + 123 2213 123 (night time)";
System.out.println(num.replaceAll("[^\\d|+|\\s]", "").replaceAll("\\s\\s+", " ").replaceAll("\\+ ", "\\+").trim());
당신은 동일한 결과를 얻을 수 있도록 단순화시겠습니까? 내가 trim()
첫째, 또는 교체 적어도 전에 모든 여러 공간을 둘 것입니다
num.replaceAll("[^\\d+\\s]", "") // [^\\d|+|\\s] => [^\\d+\\s]
.replaceAll("\\s{2,}", " ") // \\s\\s+ => \\s{2,}
.replaceAll("\\+\\s", "+") // \\+ => +
.trim()
이렇게하면 그룹 간의 공간이 제거됩니다. – Djon
OP 만 ** 추가 공간 **을 모두 제거하지 말고 + "공백 및 + 허용"을 원한다면 코드를 실행 했습니까? – Djon
@Djon : fixed this – mvp