Java에서 문자열의 여러 문자 바꾸기
String.replaceAll()
및String.replace()
는 Java에서 문자열의 문자를 대체하는 두 가지 유용한 방법입니다. 이 기사에서는이 두 가지 방법을 사용하여 문자열의 여러 문자를 대체하는 방법을 알아 봅니다.
replaceAll()
은 정규 표현식을 사용하여 단독으로 할 수 있지만 정규 표현식을 사용하지 않으려면replace()
메소드를 사용할 수 있습니다.
Java에서replaceAll()
을 사용하여 문자열의 여러 문자 바꾸기
replaceAll()
은 지정된 모든 문자를 교체하고자 할 때 사용됩니다. 정규식을 사용하여 교체 할 문자를 지정할 수 있습니다. 이 메서드는 두 개의 인수를 취합니다. 첫 번째는 정규식 패턴이고 두 번째는 배치하려는 문자입니다.
다음 예에서는 몇 가지 일반적인 정규 표현식을 사용하여 여러 문자를 대체합니다.
public class ReplaceAllChars {
public static void main(String[] args) {
String stringUnderscoresForward = "j_u_s_t_a_s/t/r/i/n/g";
String stringWithDigits = "abcd12345efgh";
String stringWithWhiteSpaces = "s t r i n g";
String stringWithLowerCase = "This is a Lower Case String";
String finalString1 = stringUnderscoresForward.replaceAll("[_/]", "-");
String finalString2 = stringWithDigits.replaceAll("[\\d]", "");
String finalString3 = stringWithWhiteSpaces.replaceAll("[ ]", "");
String finalString4 = stringWithWhiteSpaces.replaceAll("[\\s]", "-");
String finalString5 = stringWithLowerCase.replaceAll("[\\p{Lower}]", "");
System.out.println("Old String: " + stringUnderscoresForward + " New String: " + finalString1);
System.out.println("Old String: " + stringWithDigits + " New String: " + finalString2);
System.out.println("Old String: " + stringWithWhiteSpaces + " New String: " + finalString3);
System.out.println("Old String: " + stringWithLowerCase + " New String: " + finalString4);
System.out.println("Old String: " + stringWithLowerCase + " New String: " + finalString5);
}
}
출력:
Old String: j_u_s_t_a_s/t/r/i/n/g --New String: j-u-s-t-a-s-t-r-i-n-g
Old String: abcd12345efgh --New String: abcdefgh
Old String: s t r i n g --New String: string
Old String: This is a Lower Case String --New String: s-t-r-i-n-g
Old String: This is a Lower Case String --New String: T L C S
위의 예에서는 일반적으로 사용되는 여러 정규식을 사용합니다. 그 의미와 작동 방식을 살펴 보겠습니다.
stringUnderscoresForward
에는 밑줄과 슬래시로 구분 된 모든 문자가 있습니다. 모두 대시 (-
)로 대체합니다. [char1 char2]
는 두 문자를 단일 문자로 바꾸는 데 사용되는 정규식입니다. [_/]
를 사용하여 모든 밑줄과 슬래시를 대시로 바꿀 수 있습니다.
stringWithDigits
는 임의의 알파벳과 그 사이에 숫자가있는 문자열입니다. 모든 숫자를 빈 문자로 바꾸고 싶습니다. 이를 위해 숫자를 이스케이프하는\d
이스케이프 시퀀스를 사용할 수 있습니다. [\\d]
는 정규식으로 사용되며 대체 문자는 빈 문자가됩니다.
stringWithWhiteSpaces
는 모든 문자 사이에 공백을 포함합니다. 공백을 제거하기 위해 공백 문자로 바꿀 수 있습니다. 공백[ ]
가있는 빈 괄호는 문자열의 공백을 나타냅니다.
[\\s]
를 사용하여 문자열의 공백을 가져올 수도 있습니다.
stringWithLowerCase
에는 소문자와 대문자가 모두 있습니다. 모든 소문자를 빈 문자로 바꾸고 싶습니다. 모든 소문자를 얻기 위해 정규식 인[\\p{Lower}]
를 사용합니다.
Java에서String.replace()
를 사용하여 문자열의 여러 문자 바꾸기
public class ReplaceAllChars {
public static void main(String[] args) {
String stringWithRandomChars = "javbjavcjadakavajavc";
String finalString =
stringWithRandomChars.replace("b", "a").replace("c", "a").replace("d", "v").replace(
"k", "j");
System.out.println(finalString);
}
}
출력:
javajavajavajavajava
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn