我正在开发一个项目,它将比较两个字符串并挑选出类似的短语和单词。
例如,请阅读以下两个问题。
问题1:这部小说的主角经常在Celeste经营的咖啡馆吃饭。它打开主角参加他母亲的葬礼,并没有表现出悲伤的迹象。 10分,Meursault在阿尔伯特加缪的小说中拍摄了阿拉伯人的海滩?
问题2:本书中的人物与他的朋友Emmanuel一起跳上消防车,经常在Celeste's吃午饭。它开始于主角的母亲的葬礼,在那里他不会哭。 10点,将这部小说命名为阿尔伯特·加缪(Albert Camus),因为无意中射杀了阿拉伯人而导致梅尔索尔因死亡而死亡。
我希望节目能够选出“Celeste”以及这部小说“从葬礼开始”的事实。我怎么做到这一点?我只是想寻找一些资源。 (我正在使用Java)。
答案 0 :(得分:0)
希望这对你的案子有用。试试吧:
public void pringCompare(){
String s = "This is a sample sentence.";
String s2 = "This is not the previous, but similar";
String[] words = s.split("\\s+");
for (int i = 0; i < words.length; i++) {
// You may want to check for a non-word character before blindly
// performing a replacement
// It may also be necessary to adjust the character class
words[i] = words[i].replaceAll("[^\\w]", "");
}
List result = Arrays.asList(words).stream().filter(x->{
System.out.println(s2+" "+x);
return s2.contains(x);
}).collect(Collectors.toList());
result.forEach(System.out::println);
}