如何判断两个字符串中间是否有重复的部分啊?
可以返回一个布尔值就行
有代码更好
用两个for遍历就可以了,只要有相同的就退出循环。。
一个字符一个字符的比较啊
@idolater: 不是这个意思嘛?
@骑猪敲代码: 如果是多字的词语呢?虽然说暂时只需要返回布尔值。但是能返回相同的部分更好
@idolater: 定义一个数组,不用退出循环,判断如果相同就把值写入到数组里面,不就得到相同的部分了嘛,还是两个简单的for循环就可以。。
@骑猪敲代码: 直接给你代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>string</title> </head> <body> <script> var a='为中华之崛起而读书',b='少年强则中华强',c=[]; for (var i = 0; i < a.length; i++) { var str=''; for (var j = 0; j < b.length; j++) { if (a[i]==b[j]) { str+=a[i]; } } if (str.length>0) { c.push(str); } } console.log(c); </script> </body> </html>
话说你豆子怎么这么少。。
@骑猪敲代码: 挥霍过度
“重复的部分”怎么定义呢?
类似 “为中华崛起而读书” 和 “少年强则中华昌” 中的 “中华”
@idolater: “为华崛起而读书” 和 “少年强则中华昌” 那这样呢?
这个是C++的代码,你看怎么样。
bool isRepeat(char *str1, char *str2)
{
int len1=strlen(str1);
for(int i=0;i<len1;i++)
if(strstr(str2,str1[i])!=NULL) return true;
return false;
}
多谢,不过最后还是js
zuihao
不过这个只是判断一个字符的,如果你想得到有无最长的字段,可以在判断一个字符相同后,依次判断之后的,看是否是你想要的字段
@idolater:
你可以把上述代码的strstr换成js里的search。然后变量定义按var来就好了
可以用正则判断一下
function find(str1,str2)
{
for(var i=0;i<str1.length;i++){
if(str2.indexOf(str1[i]) != -1){
return true;
}
}
return false;
}
console.log(find("asbdfds","yiukajhj"));
一个for循环就行了,用indexOf判断是否存在该字符