[Matcher]
1. Pattern Class를 받아 문자열과 패턴이 일치하는지 판별한다.
▶ find() : 패턴이 일치하는 다음 문자열을 검색 후 boolean 리턴
▶ appendReplacement(StringBuffer buffer, String replacement)
: 문자열과 패턴과 일치하는 곳을 replacement로 대체하고 StringBuffer에 전달하는 메소드
▶ group(int group)
: 매칭된 group번째 그룹의 문자열 리턴 (0 : 전체를 의미한다.)
▶ appendTail(StringBuffer buffer)
: 마지막 find()가 실행되고 마지막 패턴 뒤에 남은 문자열을 StringBuffer에 붙여 준다.
[Pattern]
1. 정규 표현식으로 문자열을 검증한다.
▶ complie() : 정규식을 갖는 패턴을 생성하는 메소드
▶ matcher() : 패턴에 매칭할 문자열을 입력해 Matcher를 생성하는 메소드
[StringBuffer]
1. String Instance는 한번 생성되면 값을 읽기만 할 수 있고, 변경이 불가능하다.
StringBuffer Instance는 값의 변경과 추가가 가능하다.
2. 내부에 Buffer라고하는 독립적인 공간을 가진다.
3. String Instance의 문자열을 합치면, 새로운 String Instance에 합쳐져 공간의 낭비와 속도 저하의 이슈가 있다.
StringBuffer Instance는 문자열을 바로 추가할 수 있어, 공간 낭비와 속도 저하의 이슈를 해결할 수 있다.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String camelCaseConverter(String string){
Matcher matcher = Pattern.compile("[_|-](\\w)").matcher(string);
StringBuffer stringBuffer = new StringBuffer();
while (matcher.find()){
matcher.appendReplacement(stringBuffer, matcher.group(1).toUpperCase());
}
return matcher.appendTail(stringBuffer).toString();
}
'Java' 카테고리의 다른 글
@Valid - 객체 유효성체크 (0) | 2023.01.19 |
---|---|
API - MultipartFile 파일전송 (0) | 2023.01.19 |
COLLECTION (0) | 2023.01.19 |
DTO, DAO, VO 란? (0) | 2023.01.19 |
Filter 와 Interceptor (0) | 2023.01.19 |