如何使用Java中的正则表达式从字符串中提取每个(英语)单词?

正则表达式“ [a-zA-Z] + ”匹配一个或英文字母。因此,要提取给定输入字符串中的每个单词-

  • 编译compile()Pattern类的方法的以上表达式。

  • 绕过所需的输入字符串作为matcher()Pattern类的方法的参数,获取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]+";
      //创建一个模式对象
      Pattern pattern = Pattern.compile(regex);
      //创建一个Matcher对象
      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