소개
이 글에서는 Java의 String
객체에서 문자를 제거하는 몇 가지 다른 방법을 배우게 될 것입니다. 비록 String
클래스에는 remove()
메서드가 없지만, replace()
메서드와 substring()
메서드의 변형을 사용하여 문자를 제거할 수 있습니다.
참고: String
객체는 불변이므로 생성된 후에 변경할 수 없습니다. 이 글에서 설명하는 String
클래스의 모든 메서드는 새로운 String
객체를 반환하며 원래 객체를 변경하지 않습니다. 사용하는 문자열의 유형은 프로그램의 요구 사항에 따라 달라집니다. 다른 유형의 문자열 클래스 및 Java에서 문자열이 불변인 이유에 대해 더 알아보세요.
String
클래스에는 문자를 대체하거나 제거할 수 있는 다음과 같은 메서드가 있습니다:
replace(char oldChar, char newChar)
: 주어진 문자열에서oldChar
의 모든 발생을newChar
로 대체하는 새로운String
객체를 반환합니다. 또한replace()
메서드를 사용하여 주어진 문자열에서 부분 문자열을 대체하는 형식인replace(CharSequence target, CharSequence replacement)
을 사용할 수도 있습니다.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()
메서드를 사용하여 문자를 빈 문자열로 대체합니다. 다음 예제 코드는 주어진 문자열에서 소문자 “a
“의 모든 발생을 제거합니다:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Java에서 문자열에서 공백 제거하기
Java에서 문자열에서 공백을 제거하려면 replace()
메서드를 사용하여 공백을 빈 문자열로 대체합니다. 다음 예제 코드는 주어진 문자열에서 모든 공백을 제거합니다:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Java에서 문자열에서 부분 문자열 제거하기
Java에서 문자열에서 문자 또는 부분 문자열의 첫 번째 발생만 제거하려면 replaceFirst()
메서드를 사용하여 문자 또는 부분 문자열을 빈 문자열로 대체합니다. 다음 예제 코드는 주어진 문자열에서 “ab”의 첫 번째 발생을 제거합니다:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
자바에서 문자열에서 모든 소문자를 제거하는 방법
주어진 패턴과 일치하는 문자를 제거하기 위해 정규 표현식을 사용하여 자바 문자열에서 문자를 제거할 수 있습니다. replace.All()
메서드를 사용하여 문자를 빈 문자열로 대체합니다. 다음 예제 코드는 주어진 문자열에서 모든 소문자를 제거합니다:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
자바에서 문자열에서 마지막 문자를 제거하는 방법
문자열에서 마지막 문자를 대체하거나 제거하는 특정한 메서드는 없지만, 문자열을 자르기 위해 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";
// Java에서 문자열에서 문자 제거
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Java에서 문자열에서 공백 제거
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Java에서 문자열에서 부분 문자열 제거
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Java에서 문자열에서 모든 소문자 제거
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// 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
예제 클래스의 각 메서드는 주어진 문자열에서 작동합니다. 출력에서 각 메서드에 지정된 문자가 문자열에서 제거되었음을 보여줍니다.
결론
이 기사에서는 String
클래스의 메소드를 사용하여 Java에서 문자열에서 문자를 제거하는 다양한 방법을 배웠습니다. replace()
, replaceAll()
, replaceFirst()
, 그리고 substring()
을(를) 포함합니다. 더 많은 Java 튜토리얼을(를) 통해 학습을 계속하세요.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string