提问人:ARGO 提问时间:1/24/2021 最后编辑:Aven DestaARGO 更新时间:1/25/2021 访问量:788
计算两个字符串之间的匹配单词数
Count the number of matching words between two strings
问:
您好,我想请一些帮助,如何在Jquery中做到这一点
计算两个字符串之间的匹配单词数(按顺序),以便我能够生成准确性。
// Example
string1 = "The lazy fox jumps over the fence" // (7 words)
string2 = "The lazy dog jumps under a fence yesterday" // (8 words)
Output: 4
准确率为(4 个正确单词/7 个要检查的单词)= 57%
任何想法将不胜感激
答:
0赞
4xy
1/24/2021
#1
从包含元组的字符串中创建集合,然后通过逻辑共轭将它们相交。根据是否应该区分大小写,请先应用操作。结果集包含来自所有字符串的匹配单词。word, position
&
toUpperCase
通过这种方式,您可以测试任意数量的字符串,以查找它们彼此匹配的灭绝字符串。
我在移动设备上,编写代码不是这种情况,对不起。
2赞
hgb123
1/24/2021
#2
您可以将每个字符串转换为单词,并使用split
filter
function getWords(str) {
return str.split(" ").filter(Boolean);
}
function getMatchedWords(words1, words2) {
return words1.filter((word) => words2.includes(word));
}
const string1 = "The lazy fox jumps over the fence";
const string2 = "The lazy dog jumps under a fence yesterday";
const words1 = getWords(string1);
const words2 = getWords(string2);
const matchedWords = getMatchedWords(words1, words2);
const ratio = +((100 * matchedWords.length) / words1.length).toPrecision(2);
console.log(ratio);
评论
string3 = "The fence is for a fox who jumps"
.- 这与 string1 和 string2 有多少个匹配项?