반응형
String s = "a1b2c3d4e5f6";
String[] a = new String[3];
a[0] = s.replaceAll("[0-9]",""); // 모든 숫자를 "" 로 변경 후 문자열을 반환
a[1] = s.replaceFirst("[0-9]",""); // 처음 나오는 숫자를 ""로 변경 후 문자열을 반환
a[2] = Boolean.toString(s.matches("[a-z]")); // 문자만 존재할 때 true 반환
String[] ar = s.split("[0-9]"); // 숫자를 구분자로 문자열을 분리하여 String[]로 반환
for(String ss : a) {
System.out.println(ss);
}
for(String sss : ar) {
System.out.print(sss+" ");
}
- matches()는 주어진 regex 와 해당 문자열이 정확히 일치할 때만 true를 반환합니다.
- replace 메소드들은 s를 직접 조작하지 않고 치환된 문자열을 반환합니다.
- replace()는 char 문자를 치환하며 replaceFirst는 첫번째로 매치되는 문자만을, replaceAll은 모든 매치되는 문자를 치환합니다.
- split("구분자", limit) 는 limit 만큼만 문자열을 분리합니다.
<실행결과>
abcdef ab2c3d4e5f6 false a b c d e f |
cbcbcb181818 에서 숫자만을 뽑아내려면 다음과 같이 하면 됩니다.
String s = "cbcbcb181818";
String s1 = s.replaceAll("[a-zA-Z]", "");
String s2 = s.replaceAll("\\D", "");
String s3 = s.replaceAll("[^0-9]", "");
System.out.println(s1+s2+s3);
181818181818181818 |
반응형
'Java & Spring' 카테고리의 다른 글
Java 큰 수의 표현 BigInteger 와 BigDecimal (0) | 2021.11.01 |
---|---|
Java NumberFormatException 에 대처하는 우리들의 자세 (0) | 2021.10.27 |
Java 에서 swap 하는 방법 (0) | 2021.10.27 |
Java 정규표현식 (regular expression) - 1. 개요 (0) | 2021.10.25 |
Java 문자열 빈 값 vs 공백 vs null 비교 (0) | 2021.10.23 |
댓글