Check if text is in a string
我要检查一些文本是否在字符串中例如我有一个字符串
1
| str ="car, bycicle, bus" |
我还有一根绳子
我想检查str2是否在str中。
我是一个新的javascript用户,请耐心等待:)
当做
- 关于javascript String方法的一个很好的参考:developer.mozilla.org/en/javascript/reference/global ou objects‌&8203;/…
1 2 3
| if(str.indexOf(str2) >= 0) {
...
} |
或者如果你想走Regex路线:
1 2 3
| if(new RegExp(str2).test(str)) {
...
} |
但是,在后者中,您可能会遇到转义(元字符)问题,因此第一个路由更容易。
- 这应该是完美的。indexOf返回str中str2开头的索引。如果不在数组中,则返回-1。
- 我喜欢用这个!= -1变体。----如果(str.indexof(str2)!= -1){}
str.lastindexof(str2)>0;应该可以。但是还没有测试。
- 为什么使用lastIndexOf而不使用indexOf?
- 仅仅是习惯的力量,我在过去使用indexof…lastindexof的工作就和我所知道的一样,当只查找字符串的一个实例时。
- 有趣。在什么情况下,indexOf会引起麻烦?
- 如果您正在寻找一种以上的方法来剥皮这只猫,您可以将cx1〔6〕放入一个数组中,然后遍历数组项,检查项[i]==str2….
- @休斯,一点也不说我的方法是正确的,也不是我在实践中做了很长时间的事情,但是,var x = ',,'x.indexOf(x) == 0x.lastIndexOf(x) == 1你会得到两个不同的结果,根据逻辑,你可能会遇到一些问题。
请使用:
1 2
| var s ="foo";
alert(s.indexOf("oo") > -1); |
- 除了使用>而不是>=,这与公认的答案有什么不同?
- 拉姆,两个都是一样的!!如果看到条件,则两者都指示相同的值,即使用"indexof"函数得到的值应大于或等于0。
- 这两个都是我的意思。请不要在问题中添加重复的答案,如果需要,请对现有的答案进行投票。