检查字符串javascript中是否存在重复的字符序列
Check if duplicates of character sequence exists in a string - javascript
我想知道字符串数组的任何元素是否在给定的字符串中重复,比如:var myArray = ["AB", "CD"];
var givenString = "ABCDAB";
这里,myArray的第一个元素在给定的字符串中重复。我想知道(真/假(字符串中是否发生了这种情况。如果任何一个元素出现多次,则应为true。尝试使用new RegExp(myArray[0]).test(givenString)
,但它只测试匹配,而不测试重复
我该怎么做?如果我不用使用旗帜,我会很高兴的。
您可以使用的地图和索引
var s = "ABCDAB";
var check = ["AB", "CD"].map(function(e) {
return s.indexOf(e, s.indexOf(e) + 1) !== -1;
});
console.log(check.indexOf(true) !== -1);
发生了什么-map函数将每个数组元素传递给该函数。每个数组元素然后返回这个
s.indexOf(e, s.indexOf(e) + 1) !== -1
内部s.indexOf(e)
在我们的主字符串中找到元素的位置,并向其添加1(让我们称之为x(。外部s.indexOf(
然后搜索我们元素的一个实例,但它从位置x开始搜索,因此它有效地搜索了我们元素的第二个实例(indexOf的第二参数指示从哪个位置开始向前搜索(。
如果有第二个实例,我们得到(元素的第二个例子的(位置,否则我们得到-1,这实际上是我们的检查。如果找不到字符串的实例,则第一个indexOf返回-1(这相当于传递0(,第二个实例也返回-1(如果没有1个实例,则不可能有2个实例:-((
在这个映射函数的末尾,我们得到了一个布尔值数组,指示每个元素在s中是否出现两次。最后一行
check.indexOf(true) !== -1
基本上检查这个数组是否包含true,即是否有任何元素出现两次,然后得到结果。
checkDup(givenString, myArray) {
return myArray.some(function(str) {
if (givenString.indexOf(str) =! givenString.lastIndexOf(str)) {
return true;
}
return false;
})
}
Regex应该永远是最后的手段。
如果您在请求值上split()
您的字符串,并且该值重复,则必须至少有3个部分。
function checkDuplicate(arr, str){
for(var i=0; i< arr.length; i++){
if(str.split(arr[i]).length>2) return true;
}
return false;
}
var myArray = ["AB", "CD"];
var givenString = "ABCDAB";
document.body.innerHTML = checkDuplicate(myArray, givenString);
document.body.innerHTML += '<br>'+checkDuplicate(myArray, "ABCDBD")
相关文章:
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 由于存在标签('#')特殊字符,URL无法工作
- Don'如果javascript中存在字符,则t匹配
- JSON.parse中存在无效字符
- 如果数据存在Javascript,则剩余字符
- JavaScript:仅按字符或按字符+数字(如果存在)拆分字符串
- regex某个字符可以存在也可以不存在,但之后什么都没有
- 检查任何输入或文本区域中是否存在非法字符
- 检查字符串中是否存在至少 3 个不同字符的正则表达式
- 如何仅在存在特定字符时输出参数值
- 如果存在超过3个字母或2个特殊字符,Regex将失败
- 替换第三次出现字符后的所有内容(如果存在)
- 将十六进制颜色传递到函数时,firefox中存在非法字符
- 匹配,除非存在“转义”字符;必须联机和背靠背工作
- 检查Javascript中是否存在非UTF8字符
- 如何检查特定字符串是否存在于变量中,在javascript中具有大小写敏感和特殊字符
- 如何检查下一个存在的字符串中的字符在javascript
- 如何获取仅包含存在于任何字符和空格之间的大写字母的字符串
- 如果last /作为字符串中的最后一个字符存在,则使用正则表达式删除它
- 检查字符串javascript中是否存在重复的字符序列