Sunday, December 24, 2006
Java/자바/정규식] 대소문자 구분 없이 문자열 바꾸기/치환; Replace String Ignore Case Regex
replaceFirst() / replaceAll() 메소드(함수)로 문자열을 치환할 때, 대소문자 구분없이 바꾸려면
정규식의 앞 부분에 (?i) 라는 옵션을 넣어주면 됩니다. 물음표+소문자i(아이)입니다.
파일명: Foo.java
컴파일 및 실행 결과 화면:
만약 (?i) 라는 옵션이 없다면, 원본 문자열에서, 소문자로 된 "abc" 만 "ZZZ"로 변경됩니다.
▶▶ Java/자바] 문자열 치환, 바꾸기, 모두 바꾸기 - String Replace All
정규식의 앞 부분에 (?i) 라는 옵션을 넣어주면 됩니다. 물음표+소문자i(아이)입니다.
영문 알파벳 대소문자 구분없이 치환 예제
파일명: Foo.java
public class Foo {
public static void main(String[] args) {
String s = "Abc abC ABC abc"; // 원본 문자열
String s2;
System.out.println("원본: " + s);
System.out.println(); // 줄바꿈
s2 = s.replaceFirst("(?i)abc", "ZZZ");
System.out.println("치환(1): " + s2);
s2 = s.replaceAll("(?i)abc", "ZZZ");
System.out.println("치환(2): " + s2);
}
}
public static void main(String[] args) {
String s = "Abc abC ABC abc"; // 원본 문자열
String s2;
System.out.println("원본: " + s);
System.out.println(); // 줄바꿈
s2 = s.replaceFirst("(?i)abc", "ZZZ");
System.out.println("치환(1): " + s2);
s2 = s.replaceAll("(?i)abc", "ZZZ");
System.out.println("치환(2): " + s2);
}
}
컴파일 및 실행 결과 화면:
D:\Z>javac Foo.java && java Foo
원본: Abc abC ABC abc
치환(1): ZZZ abC ABC abc
치환(2): ZZZ ZZZ ZZZ ZZZ
원본: Abc abC ABC abc
치환(1): ZZZ abC ABC abc
치환(2): ZZZ ZZZ ZZZ ZZZ
만약 (?i) 라는 옵션이 없다면, 원본 문자열에서, 소문자로 된 "abc" 만 "ZZZ"로 변경됩니다.
▶▶ Java/자바] 문자열 치환, 바꾸기, 모두 바꾸기 - String Replace All
tag: java
자바 | Java
tag: regex
정규식 | 정규표현식 | Regex | Regular Expression
<< Home