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

Java에서 정규식을 사용하여 문자열에서 각 (영어) 단어를 추출하는 방법은 무엇입니까?

<시간/>

정규식 "[a-zA-Z]+ "는 하나 또는 영어 알파벳과 일치합니다. 따라서 주어진 입력 문자열에서 각 단어를 추출하려면 -

  • Pattern 클래스의 compile() 메서드의 위 식을 컴파일합니다.

  • Pattern 클래스의 matcher() 메서드에 대한 매개변수로 필요한 입력 문자열을 무시하고 Matcher 객체를 가져옵니다.

  • 마지막으로 각 일치 항목에 대해 group() 메서드를 호출하여 일치하는 문자를 가져옵니다.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EachWordExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter sample text: ");
      String data = sc.nextLine();
      String regex = "[a-zA-Z]+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(data);
      System.out.println("Words in the given String: ");
      while(matcher.find()) {
         System.out.println(matcher.group()+" ");
      }
   }
}

출력

Enter sample text:
Hello this is a sample text
Words in the given String:
Hello
this
is
a
sample
text