[JAVA] 특정 문자열 제거하기, 연속된 문자열
2023. 11. 12. 11:31ㆍJAVA
특정 문자열 자르기
정규 표현식 [^a-zA-Z0-9-_.]은 특정 문자 세트가 아닌 모든 문자를 매칭하는 것입니다. 이 문자 클래스를 세분화해보자
- ^: 문자 클래스 내에서 사용되면 해당 클래스를 부정(제외)합니다. 즉, 나열된 문자들을 제외한 모든 문자와 매치됩니다.
- a-zA-Z0-9: 알파벳 대소문자와 숫자에 해당하는 모든 문자를 매치합니다.
- -: 이 부분은 그 자체로 문자 -를 매치합니다.
- _.: 이 두 문자는 각각 _ (언더스코어)와. (마침표)를 매치합니다.
따라서 [^a-zA-Z0-9-_.]는 알파벳 대소문자, 숫자, 언더스코어, 마침표, 그리고 하이픈을 제외한 모든 문자를 매치합니다.
만약 다른 문자를 포함하거나 제외하려면 문자 클래스에 해당 문자를 추가하거나 제거하면 됩니다.
- 특정 문자 추가 예시: [^a-zA-Z0-9-_.@] (이제 @도 포함됨)
- 특정 문자 제외 예시: [^a-zA-Z0-9-.] (이제 _가 제외됨)
원하는 동작에 따라 문자 클래스를 수정하면 됩니다.
연속된 문자를 특정 문자로 바꾸기
.replaceAll("\\.+", ".");
.replaceAll("\\.{2,}", "."); .
사용 예시
String example = "123...45..67.";
example = example.replaceAll("\\.{2,}", ".");
System.out.println(example);
반환 값 = 123.45.67.
연속되는 문자를 특정 문자로 변형하는 방법이다. 주의해야 되는 점은 특정 특수문자의 경우 백슬레시를 이용해 구분을 해줘야 한다
'JAVA' 카테고리의 다른 글
LinkedList, Stack, Queue, Deque, PriorityQueue 사용법 정리 (0) | 2024.07.04 |
---|---|
[JAVA] 배열, ArrayList 내림차순, 오름차순 정렬 (0) | 2023.12.10 |
[JAVA] HashMap, HashSet, TreeMap, TreeSet 사용 방법 (0) | 2023.12.02 |
[JAVA] Array, List, ArrayList 개념 정리 (0) | 2023.10.23 |
[JAVA] 약수 구하기 (2) | 2023.10.23 |