웹사이트 검색

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", "");
Output
bc ABC 123 bc

Java의 문자열에서 공백 제거

공백을 빈 문자열로 바꾸기 위해 replace() 메서드를 사용하여 Java의 문자열에서 공백을 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 모든 공백을 제거합니다.

String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
Output
abcABC123abc

Java의 문자열에서 하위 문자열 제거

replaceFirst() 메서드를 사용하여 문자 또는 하위 문자열을 빈 문자열로 바꾸면 Java의 문자열에서 처음 나타나는 문자 또는 하위 문자열만 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 "ab”의 첫 번째 항목을 제거합니다.

String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Output
c ABC 123 abc

Java의 문자열에서 모든 소문자를 제거하십시오.

replace.All() 메서드를 사용하여 문자를 빈 문자열로 바꾸면 정규식을 사용하여 Java의 문자열에서 지정된 패턴과 일치하는 문자를 제거할 수 있습니다. 다음 예제 코드는 주어진 문자열에서 모든 소문자를 제거합니다.

String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
Output
ABC 123

Java의 문자열에서 마지막 문자 제거

문자열에서 마지막 문자를 바꾸거나 제거하는 특정 메서드는 없지만 String substring() 메서드를 사용하여 문자열을 자를 수 있습니다. 다음 예제 코드는 주어진 문자열에서 마지막 문자를 제거합니다.

String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Output
abc 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));
	}

}

프로그램을 컴파일하고 실행합니다:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

다음과 같은 결과가 나타납니다.

Output
String 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 자습서로 학습을 계속하십시오.