JavaScript 字符串

本文介绍了JavaScript中常用的字符串操作方法,包括substring(), slice(), substr(), split() 和 replace() 的使用技巧及示例。同时探讨了如何利用这些方法进行精确的字符串截取和查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 字符串用于存储和处理文本。

一 、 字符串截取

1.substring()

str.substring(start,end)

substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。

let str = 'www.w3school.com.cn';
        console.log(str.substring(0, 3));   // www
        console.log(str.substring(0));      // www.w3school.com.cn
        console.log(str.substring(-2));     //www.w3school.com.cn(传负值则视为0)

2.slice()

str.slice(start,end)

slice()方法与substring()方法非常类似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。

let str = 'www.w3school.com.cn';
console.log(str.slice(0,3));        //www
console.log(str.slice(-2,-1));      //c
console.log(str.slice(1,-1));       //ww.w3cschool.com.c
console.log(str.slice(2,1));        //''(返回空字符串,start必须小于end)
console.log(str.slice(-3,0));       //''(返回空字符串,start必须小于end)

3.substr

str.substr(start,length)

substr()方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起。

console.log(str.substr(1,3));       //ww.
console.log(str.substr(0));         //www.w3cschool.com.cn
console.log(str.substr(-3,3));      //.cn
console.log(str.substr(-1,5));      //n(目标长度较大的话,以实际截取的长度为准)

很多时候的字符截取需求,就是依赖于某个字符;而以上三个函数都需知道其位置。我们当然可以借助 indexOf 等方法获取,很显然这很繁琐;而借助 split 则显得更轻而易举。

4.split()
separator 指定用来分割字符串的字符(串)。separator 可以是一个字符串或正则表达式。 如果忽略 separator,则返回整个字符串的数组形式。如果 separator 是一个空字符串,则 str 将会把原字符串中每个字符的数组形式返回。
limit 一个整数,限定返回的分割片段数量。split 方法仍然分割每一个匹配的 separator,但是返回的数组只会截取最多 limit 个元素。

console.log(str.split('.'));            //["www","w3cschool","com","cn"]
        console.log(str.split('.',1));          //["www"]
        console.log(str.split('.').join(''));   //wwww3cschoolcomcn

很多时候的字符截取需求,就是依赖于某个字符;而以上三个函数都需知道其位置。我们当然可以借助 indexOf 等方法获取,很显然这很繁琐;而借助 split 则显得更轻而易举。
5.replace()

let str = 'jeff@nice&jade';
console.log(str.replace(/@[\s\S]*/g, ''));       // "jeff"
console.log(str.replace(/@[\s\S]*&/g, ''));      // "jeffjade"

二、查找类方法

1.indexOf() & includes()
indexOf()用来检索指定的字符串值在字符串中首次出现的位置。它可以接收两个参数,searchValue 表示要查找的子字符串,fromIndex 表示查找的开始位置,省略的话则从开始位置进行检索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值