你如何发现两个相似词之间的区别?
例如:
INSERT INTO Emails(To,Subject,Body,Sender,RecordDT,Sent,SentDT)
VALUES (pTo,pSubject,pBody,pSender,pRecordDT,1,pRecordDT);
与word
相比,word,
为变量,
与this
相比,.this
为变量.
与info
相比,:info,
和:
为变量在这种情况下,我们总是知道哪个词更长。对于比较,实际的词总是相同的。只是那个较长的人可能会有一些额外的角色。
我只需要使用javascript即可。
答案 0 :(得分:3)
您可以尝试检查字符数组之间的差异。
var shortStr = 'info';
var longStr = ':info,';
console.log(Array.from(longStr).filter(function(c) {
return Array.from(shortStr).indexOf(c) === -1;
}));
答案 1 :(得分:1)
此外,还有更好的方法,检查字符串是否为子字符串,然后从主字符串中删除子字符串:
function checkDiff(a, b) {
var big = '', small = '';
if (a.length > b.length) {
big = a;
small = b;
} else {
small = a;
big = b;
}
if (big.indexOf(small) != -1) {
return big.replace(small, "");
} else {
return false;
}
}
alert(checkDiff("word", "word,"));
alert(checkDiff("this", ".this"));
alert(checkDiff("info", ":info,"));

我已为您的所有案例添加了演示。它根据发生的位置将值作为单个字符串返回。您也可以使用.split()
方法将输出作为数组发送。
function checkDiff(a, b) {
var big = '', small = '';
if (a.length > b.length) {
big = a;
small = b;
} else {
small = a;
big = b;
}
if (big.indexOf(small) != -1) {
console.log(big.replace(small, "").split(""));
return big.replace(small, "").split("");
} else {
return false;
}
}
alert(checkDiff("word", "word,"));
alert(checkDiff("this", ".this"));
alert(checkDiff("info", ":info,"));