Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 문자열의 알파벳이 아닌 모든 문자를 제거하시겠습니까?

<시간/>

split() String 클래스의 메소드는 구분 기호를 나타내는 String 값을 받아들이고 토큰(단어) 배열로 분할하여 두 구분 기호의 발생 사이의 문자열을 하나의 토큰으로 처리합니다.

예를 들어 이 메서드의 구분 기호로 단일 공백 ​​" "을 전달하고 문자열을 분할하려고 시도하는 경우. 이 메서드는 두 공백 사이의 단어를 하나의 토큰으로 간주하고 현재 문자열에서 단어 배열(공백 사이)을 반환합니다.

문자열에 지정된 구분 기호가 포함되어 있지 않으면 이 메서드는 전체 문자열을 요소로 포함하는 배열을 반환합니다.

정규식 "\\W+"는 문자열에서 알파벳이 아닌 모든 문자(구두점, 공백, 밑줄 및 특수 기호)와 일치합니다.

따라서 문자열에서 알파벳이 아닌 모든 문자를 제거하려면 -

  • 문자열을 가져옵니다.

  • split()을 사용하여 얻은 문자열 int를 String 배열로 분할합니다. 위의 지정된 정규식을 매개변수로 전달하여 String 클래스의 메소드에 전달합니다.

  • 알파벳이 아닌 모든 문자에서 문자열을 분할하고 모든 토큰을 문자열 배열로 반환합니다.

  • 획득한 배열의 모든 요소를 ​​단일 문자열로 결합합니다.

예시

import java.util.Scanner;
public class RemovingAlphabet {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String str = sc.nextLine();
      String[] stringArray = str.split("\\W+");
      String result = new String();
      for(int i = 0; i < stringArray.length;i++){
         result = result+ stringArray[i];
      }
      System.out.println("Result: "+result);
   }
}

출력

Enter your name:
Krishna ^% Kasyap*@#
Result: KrishnaKasyap