Java의 문자열에서 문자를 제거하는 방법
소개
이 기사에서는 Java의 String
객체에서 문자를 제거하는 몇 가지 방법을 배웁니다. String
클래스에는 remove()
메서드가 없지만 replace()
메서드와 substring()
메서드를 사용하여 문자열에서 문자를 제거합니다.
참고: String
객체는 변경할 수 없습니다. 즉, 생성된 후에는 변경할 수 없습니다. 이 문서에 설명된 모든 String
클래스 메서드는 새 String
개체를 반환하고 원래 개체를 변경하지 않습니다. 사용하는 문자열 유형은 프로그램의 요구 사항에 따라 다릅니다. Java에서 문자열이 변경 불가능한 이유에 대해 자세히 알아보세요.
String
클래스에는 문자를 바꾸거나 제거하는 데 사용할 수 있는 다음 메서드가 있습니다.
replace(char oldChar, char newChar)
: 주어진 문자열에서 발생하는 모든oldChar
를 대체하는 새로운String
객체를 반환합니다.newChar
로.replace(CharSequence target, CharSequence replacement)
형식의replace()
메서드를 사용하여 새String
개체를 반환할 수도 있습니다. 주어진 문자열의 하위 문자열을 대체합니다.replaceFirst(String regex, String replacement)
: 주어진 문자열의 정규식과 일치하는 첫 번째 하위 문자열을 교체로 대체하는 새로운String
개체를 반환합니다.< /리>replaceAll(String regex, String replacement)
: 주어진 문자열의 정규식과 일치하는 각 하위 문자열을 교체로 대체하는 새로운String
개체를 반환합니다. 리>substring(int start, int end)
: 현재 이 시퀀스에 포함된 문자의 하위 시퀀스를 포함하는 새로운String
개체를 반환합니다. 하위 문자열은 지정된 시작에서 시작하여 인덱스 끝에서 1을 뺀 문자까지 확장됩니다.
replaceAll()
및 replaceFirst()
메서드의 첫 번째 인수는 정규식입니다. 정규식을 사용하여 문자열에서 패턴을 제거할 수 있습니다.
참고: replace()
메서드를 사용할 때 리터럴 문자열 값을 나타내려면 큰따옴표를 사용해야 합니다. 작은따옴표를 사용하는 경우 JRE는 문자 상수를 나타내는 것으로 가정하고 프로그램을 컴파일할 때 오류가 발생합니다.
Java의 문자열에서 문자 제거
replace()
메서드를 사용하여 문자를 빈 문자열로 바꾸면 Java의 문자열에서 문자의 모든 인스턴스를 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 소문자 "a
”를 모두 제거합니다.
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Java의 문자열에서 공백 제거
공백을 빈 문자열로 바꾸기 위해 replace()
메서드를 사용하여 Java의 문자열에서 공백을 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 모든 공백을 제거합니다.
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Java의 문자열에서 하위 문자열 제거
replaceFirst()
메서드를 사용하여 문자 또는 하위 문자열을 빈 문자열로 바꾸면 Java의 문자열에서 처음 나타나는 문자 또는 하위 문자열만 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 "ab
”의 첫 번째 항목을 제거합니다.
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Java의 문자열에서 모든 소문자를 제거하십시오.
replace.All()
메서드를 사용하여 문자를 빈 문자열로 바꾸면 정규식을 사용하여 Java의 문자열에서 지정된 패턴과 일치하는 문자를 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 모든 소문자를 제거합니다.
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Java의 문자열에서 마지막 문자 제거
문자열에서 마지막 문자를 바꾸거나 제거하는 특정 메서드는 없지만 String substring() 메서드를 사용하여 문자열을 자를 수 있습니다. 다음 예제 코드는 주어진 문자열에서 마지막 문자를 제거합니다.
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
사용해 보세요
다음 예제 파일은 이 문서에 제공된 모든 메서드 예제를 포함하는 클래스를 정의하고 지정된 문자열에서 각 메서드를 호출한 후 결과를 출력합니다. 이 예제 코드를 사용하여 다른 일치 패턴과 대체 값을 사용하여 다른 문자열에서 직접 시도해 볼 수 있습니다.
Java가 설치되어 있으면 JavaStringRemove.java
라는 새 파일을 만들고 파일에 다음 코드를 추가할 수 있습니다.
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Remove a character from a string in Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Remove spaces from a string in Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Remove a substring from a string in Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Remove all the lowercase letters from a string in Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Remove the last character from a string in Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
프로그램을 컴파일하고 실행합니다:
- javac JavaStringRemove.java
- java JavaStringRemove
다음과 같은 결과가 나타납니다.
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
JavaStringRemove
예제 클래스의 각 메소드는 주어진 문자열에서 작동합니다. 출력은 각 메서드에 지정된 문자가 문자열에서 제거되었음을 보여줍니다.
결론
이 기사에서는 replace()
, replaceAll()
을 포함하여 String
클래스의 메서드를 사용하여 Java의 문자열에서 문자를 제거하는 다양한 방법을 배웠습니다. , replaceFirst()
및 substring()
. 더 많은 Java 자습서로 학습을 계속하십시오.