如何找到一个特定的词开始与定字符串中在JAVA线

问题描述:

输入1:这是新词的搜索引擎如何找到一个特定的词开始与定字符串中在JAVA线

输入2的介绍信息:在

输出:{介绍,信息}

请确认是否能解决你的问题:

package q46379748; 
import java.util.ArrayList; 
import java.util.List; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class FindWord { 

    public static void main(String[ ] args) { 
     String input = "This is introductory information of new word search engine"; 

     String query = "in"; 

     String[ ] result = new FindWord().findWords(input, query); 

     for (String s : result) { 
      System.out.println(s); 
     } 
    } 

    private String[ ] findWords(String input, String query) { 
     Pattern p = Pattern.compile("\\b" + query + "\\w*\\b"); 

     Matcher m = p.matcher(input); 

     List<String> v = new ArrayList<>(); 
     while (m.find()) { 
      v.add(m.group()); 
     } 

     return v.toArray(new String[ 0 ]); 
    } 

} 

注意,此解决方案使用正则表达式(正则表达式)和创建模式是\bin\w+\b,其中:

  • \b意味着字边界
  • \w指字的字符
  • *意味着前一个项目的零个或多个(任何数量),在这种情况下,\w

保持请记住,将查询更改为RegEx查询会更好:

String query = "\\bin\\w*\\b"; 

Pattern p = Pattern.compile(query); 

如果你想学习正则表达式,有大量的材料在那里:

https://regexone.com/

http://www.regular-expressions.info/tutorial.html

http://www.rexegg.com/