📌  相关文章
📜  在Java中使用正则表达式从字符串中提取每个单词

📅  最后修改于: 2022-05-13 01:55:21.134000             🧑  作者: Mango

在Java中使用正则表达式从字符串中提取每个单词

给定一个字符串,从中提取单词。 “单词”被定义为字母字符的连续字符串,即任何大写或小写字符az 或AZ。

例子:

Input : Funny?? are not you?
Output : Funny
         are
         not
         you

Input : Geeks for geeks?? 
Output : Geeks
         for
         geeks

我们在这篇文章中讨论了 C++ 的解决方案:Program to extract words from a given String

我们还在这些帖子中讨论了Java的基本方法:使用Java计算文本文件中的行数、单词数、字符数和段落数以及使用正则表达式打印单词中的第一个字母。

在这篇文章中,我们将讨论做同样事情的正则表达式方法。这种方法在时间复杂度方面最好,也可用于大型输入文件。下面是任何单词的正则表达式。

[a-zA-Z]+
// Java program to demonstrate extracting words
// from string using Regex
  
import java.util.regex.Matcher;
import java.util.regex.Pattern;
  
public class Test 
{
    public static void main(String[] args) 
    {
        String s1 = "Geeks for Geeks";
        String s2 = "A Computer Science Portal for Geeks";
          
        Pattern p = Pattern.compile("[a-zA-Z]+");
          
        Matcher m1 = p.matcher(s1);
        Matcher m2 = p.matcher(s2);
          
        System.out.println("Words from string \"" + s1 + "\" : ");
        while (m1.find()) {
            System.out.println(m1.group());
        }
          
        System.out.println("Words from string \"" + s2 + "\" : ");
        while (m2.find()) {
            System.out.println(m2.group());
        }
          
    }
}

输出:

Words from string "Geeks for Geeks" : 
Geeks
for
Geeks
Words from string "A Computer Science Portal for Geeks" : 
A
Computer
Science
Portal
for
Geeks