js 如何在一个字符串中查找某个子串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 如何在一个字符串中查找某个子串?相关的知识,希望对你有一定的参考价值。

比如, var a = 'box foot bar applet';

我想查找a这个字符串中是否包含‘bar’, 怎么写??

ps :查找的子串要和a中的内容完全相同的,比如说 bar 不能说ba 也算是。。。。

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

var a = 'box foot bar applet';

if (a.indexOf('bar') !== -1)

document.body.innerText = a + '中包含' + 'bar';

else

document.body.innerText = a + '中不包含' + 'bar';

3、浏览器运行index.html页面,此时打印出了字符串中是否包含“bar”的结果。

参考技术A

对于查找字符串,数组是否包含,都可以用indexOf方法

往indexOf传入一个值会返回该值在字符串中或者数组中的下标,返回-1即找不到该值


下面一个例子:

<script>
   var str = "asdtestasd",
           arr = ["a","s","asd","asdf","test"];

    console.log(str.indexOf('test'));//输出3,下标为3
    console.log(str.indexOf('text'));//输出-1,找不到
    console.log(arr.indexOf('test'));//输出4,数组也是可以的
</script>

参考技术B indexOf
方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

例如:
var a = 'box foot bar applet';

var n=a.indexOf('bar');追问

请看清楚题目才回答。。3Q!

追答

if (n==-1) //不包含,你仔细看回答没有?

追问

indexOf函数

就算var a = 'box foot bar applet'; 写成

var a = 'bbbbbbbb'

也是返回真的、、、、、、

我需要的是完全匹配、、

追答<script language=javascript>
var a = 'box foot bar applet';
var b = 'bbbbbbbbbbbbb';
document.write('a中包含吗?'+a.indexOf('bar')+'<br>');
document.write('b中包含吗?'+b.indexOf('bar')+'<br>');
</script>

你猜上面的代码输出什么,想到没有,是这样:

a中包含吗?9
b中包含吗?-1


你如果都为真,估计你相等判断是写的=,正确应该是==

追问

var a = 'box foot barsssssssss applet';

这样也为真啊、。、

追答

是应该为真呀,这里面存在字串bar,有什么问题?

你回头看看你的提问和所有的追问,都是说的字串,字串就应该用indexOf来判断,我的回答有错???

还吹什么牛,“var a = 'bbbbbbbb' 也是返回真的”,是真的吗?“我需要的是完全匹配”,indexOf不是完全匹配吗???

参考技术C 用正则就可以啦。。比如

var a = 'box foot bar applet';

var p = /bar/;
alert(p.test(a));本回答被提问者采纳

delphi调用dll函数 字符串参数

参考技术A 字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
函数应用
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5. 求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5

以上是关于js 如何在一个字符串中查找某个子串?的主要内容,如果未能解决你的问题,请参考以下文章

js里面判断一个字符串是否包含某个子串的方法

数组篇在python中如何查找最长字符串子串

c语言 定义一个函数,判断某字符串中是不是包含一个子串

C++判断字符串中是不是含有某个子字符串

delphi调用dll函数 字符串参数

python 字符串