Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 문자찾기
- 코테공부
- 대소문자변환
- 회문문자열
- 가장짧은문자거리
- 특정문자뒤집기
- 자바
- 코딩테스트
- 코당테스트공부
- 개발자
- java
- Object.toString(0
- 신입개발자면접
- 코테
- 자동정렬해제
- length
- 형변환
- 개발자면접
- replace
- 자바문자열치환
- 자바기초
- substring
- 보이는학생
- 기초지식
- 코테연습
- 코딩테스트연습
- 주석해제
- 코딩테스트공부
- 긴단어찾기
- 여러줄주석
Archives
- Today
- Total
일단 해보자고~
자바 :: replace() / replaceAll()의 사용법과 차이 본문
목차
1. replace()
- 특정 문자를 다른 문자로 치환할 때 사용되는 메서드
public class Replace {
public static void main(String[] args) {
String str = "replace";
String result = str.replace('e', 'x'); // ('target 문자', '바꾸는 문자')
System.out.println(result);
}
}
target 문자란 치환이 될 문자를 나타낸 것이고, 바꾸는 문자란 해당 문자로 바뀔 문자임을 의미한다.
replace에서 문자 e를 x로 바꾸므로 rxplacx가 나오게 된다.
출력 :
2. replaceAll()
- replace()와 마찬가지로 특정문자를 다른 문자로 치환할 때 사용되는 메서드인데 replace()와 다른 점은 replace()의 입력 인자 값은 CharSequence라는 인터페이스인데 replaceAll()의 입력 인자 값은 String 클래스이다.
그리고 replaceAll()은 target 입력인자값에서 regex를 사용할 수 있다고 나와있는데, 이는 정규표현식을 사용할 수 있음을 나타낸다.
public class ReplaceAll {
public static void main(String[] args) {
String str = "re!place@All";
String result = str.replaceAll("[^a-z~A-Z]", "x");
System.out.println(result);
}
}
정규표현식을 사용했는데
[a-z] 는 소문자 a부터 z까지를 나타내고 [a-z~A-Z]는 소문자 a부터 z까지이면서 대문자 A부터 Z까지를 나타낸다.
거기에 ^ 이 특수문자를 붙여준다면 '해당하는 문자를 제외한'을 의미하므로 소문자 a부터 z까지, 대문자 A부터 Z까지를 제외한 문자를 x로 바꿔준다는 의미이다.
그러므로 re!place@All는 rexplacexAll로 바뀌어 나오게 된다.
출력 :
'Programming Language > Java' 카테고리의 다른 글
자바 :: String.valueOf() / Object.toString()의 사용법과 차이 (0) | 2022.09.08 |
---|---|
자바 :: int / Integer의 개념과 차이 (0) | 2022.09.07 |
자바 :: 문자열 자르기 split() / substring()의 사용법 (0) | 2022.09.06 |
자바 :: Overloading / Overriding의 사용법과 차이 (2) | 2022.09.06 |
자바 :: length / length() / size()의 사용법과 차이 (0) | 2022.09.05 |
Comments