在字符串中查找子字符串并提取它
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在字符串中查找⼦字符串并提取它
在字符串中查找⼦字符串并提取它
1. 有时候你会想要找出⼀个较⼩的字符串是否存在于⼀个较⼤的字符串中(我们通常会说⼀个字符串中存在⼀个⼦字符串)。
这可以使
⽤indexOf()⽅法来完成,该⽅法需要⼀个parameter — 你想要搜索的⼦字符串。
尝试以下:
browserType.indexOf('zilla');
结果是2,因为⼦字符串“zilla”从“mozilla”内的位置2(0,1,2 —— 所以从第3个字符)开始。
这样的代码可以⽤来过滤字符串。
例如,假设我们有⼀个Web地址列表,但我们只想打印出包含“mozilla”的那些地址。
2. 这可以⽤另⼀种可能更有效的⽅式来实现。
尝试以下:
browserType.indexOf('vanilla');
这应该会得到-1的结果 —— 当在主字符串中找不到⼦字符串(在本例中为“vanilla”)时将返回-1。
您可以使⽤它来查找不包含⼦串“mozilla”的所有字符串实例,或者如果使⽤否定运算符,请执⾏以下操作。
你可以这样做:
if(browserType.indexOf('mozilla') !== -1) {
// do stuff with the string
}
3. 当你知道字符串中的⼦字符串开始的位置,以及想要结束的字符时,slice()可以⽤来提取它。
尝试以下:
browserType.slice(0,3);
这时返回"moz"——第⼀个参数是开始提取的字符位置,第⼆个参数是提取的最后⼀个字符的后⼀个位置。
所以提取从第⼀个位置开始,直到但不包括最后⼀个位置。
(此例中)你也可以说第⼆个参数等于被返回的字符串的长度。
4. 此外,如果您知道要在某个字符之后提取字符串中的所有剩余字符,则不必包含第⼆个参数,⽽只需要包含要从中提取的字符位置字
符串中的其余字符。
尝试以下:
browserType.slice(2);
这返回“zilla” —— 这是因为2的字符位置是字母z,并且因为没有包含第⼆个参数,所以返回的⼦字符串是字符串中的所有剩余字符。