我有一组名为“停用词”的单词。现在我需要匹配两个单词,但是在这些单词之间可以在集合“停用词”中出现空格或单词,例如“能源”,“能源的力量”,“能源的力量”,“能源的力量”。 在停用词集中,还有“for,of,...”
我想获得没有停用词的“电力能源”。有可能吗?
答案 0 :(得分:1)
查找子字符串将起作用。这将格式化
形式的任何短语Word(停用词)+结束词到 Word结束词
String power = "power of energy";
String[] toks = power.split("[\\s]+"); // in case of extra space between words.
String removed =
power.substring(power.indexOf(toks[0]), power.indexOf(toks[0])
+ toks[0].length())
+ " " + power.substring(power.indexOf(toks[toks.length - 1]), power.indexOf(toks[toks.length - 1 ])
+ toks[toks.length - 1].length());
System.out.println(removed);
输出:电能
方法
public static String removeStopWord(String phrase){
String[] toks = phrase.split("[\\s]+");
String removed =
phrase.substring(phrase.indexOf(toks[0]), phrase.indexOf(toks[0])
+ toks[0].length())
+ " " + phrase.substring(phrase.indexOf(toks[toks.length - 1]), phrase.indexOf(toks[toks.length - 1])
+ toks[toks.length - 1].length());
return removed;
}
答案 1 :(得分:1)
java的简单replaceAll()可以做到这一点:)
public class Replace {
public static void main(String[] args) {
String s="power of the world";
s=s.replaceAll("of|the|", "");
s=s.replaceAll("( )+", " ");
System.out.println(s);
}
}