【发布时间】:2017-08-11 09:17:42
【问题描述】:
我需要一个纯 Java 程序来搜索给定的字符串以“查找彼此附近的单词”——需要指定彼此之间的距离。 更具体地说:- 以任意顺序查找 word1 和 word2,只要它们出现在彼此之间的一定距离内。
例如:- 在给定字符串中搜索彼此相距 3 个单词内的“癌症”和“问题” - 如果找到返回“true”,否则返回“false”。
String term = "癌症问题"; String text = "医生在二战期间在日本发现了许多与癌症相关的胸部问题。"; 整数距离 = 3; // 距离可能不同
我更喜欢纯 Java 解决方案而不是正则表达式解决方案。
【问题讨论】:
-
“我更喜欢纯 Java 解决方案而不是正则表达式解决方案。” - 我们更希望您向我们展示您迄今为止所做的尝试,以便我们帮助您解决问题。我们不会为您解决全部任务。
-
@luk2302 我猜所有 OP 都是 shown here。
-
请按照 String text = "医生在二战期间在日本发现许多与癌症相关的问题。";正则表达式方法 1 : - \\bcancer\\W+(?:\\w+\\W+){1,6}?problems\\b 正则表达式方法 2 :- \b(?:(?>cancer()|problems( )|(?>\1|\2)\w+)\b\W*?){0,2}\1\2\b
-
@Wiktor Stribiżew 感谢您的提及。你之前已经注意到了。
-
你的问题还不清楚,抱歉。
标签: java regex algorithm search full-text-search