如何找到一个特定的词开始与定字符串中在JAVA线
答
请确认是否能解决你的问题:
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);
如果你想学习正则表达式,有大量的材料在那里: