gpt4 book ai didi

javascript - 检测字符串中的相同事件

转载 作者:行者123 更新时间:2023-11-29 10:58:50 24 4
gpt4 key购买 nike

让我们假设我有两个字符串。在我的例子中,字符串是“stringA”和“stringB”:

示例 1:

let stringA = "1ABC DEFGHI";

let stringB = "XYZABC DEFGHI";

即使两个字符串不完全相同,它们仍然包含大量的字母序列,两者完全相同。在上面的例子中,字符串 "ABC DEFGHI" 出现在它们中。


示例 2: 这是另一个示例:

let stringA = "0142 41193566"

let stringB = "+49 142 41193566"

在这种情况下,结果应该是 142 41193566,因为这个字符串在它们中都出现了。


我会将该操作描述为一种掩码操作,但到目前为止我在实现它方面还没有取得进展。不幸的是,这段代码片段是我目前所能提供的一切。

let stringA = "0142 41193566"
let stringB = "+49 142 41193566"


let stringC = "....ThISisATest"
let stringD = "+Th.ISisATest33"


let detectBiggestOccurrence = function(stringA, stringB) {
let result = []
for (let c in stringA) {
if (stringB.includes(stringA[c])) {
let index = stringB.indexOf(stringA[c])
result+=stringB[index]
}
}; return result
}


let resultWorking = detectBiggestOccurrence(stringA, stringB)
console.log("working:", resultWorking)


let resultNotWorking = detectBiggestOccurrence(stringC, stringD)
console.log("not working:", resultNotWorking)

问题:上面的代码适用于第一次调用 (detectBiggestOccurrence(stringA, stringB)),但不适用于第二次调用 (detectBiggestOccurrence (stringC, stringD)).

最佳答案

我用来解决您的问题的方法:

  1. 创建一个空蒙版
  2. 用第一个字符串中的一个字母填充该空掩码,并检查第二个字符串中是否存在该掩码。
  3. 将掩码长度与最后一个响应长度进行比较。如果掩码更大,则掩码成为响应

function detectBiggestOccurrence(stringA, stringB){
var mask ="";
var response ="";
stringA.split('').forEach( el => {
mask +=el;
if(stringB.includes(mask)){
if(mask.length > response.length){ response = mask; }
}
else {
mask =el;
}
})
return response;
}

let stringA = "1ABC DEFGHI";
let stringB = "XYZABC DEFGHI";
console.log(detectBiggestOccurrence(stringA, stringB));

let stringC = "0142 41193566";
let stringD = "+49 142 41193566";
console.log(detectBiggestOccurrence(stringC, stringD));

let stringE = "....ThISisATest"
let stringF = "+Th.ISisATest33"
console.log(detectBiggestOccurrence(stringE, stringF));

关于javascript - 检测字符串中的相同事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51337462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com