js中的slice、substr、substring

js中的slice、substr、substring

(均不改变原来字符串的值)

var str = " 11xieYaoPeng is a employee gender man telephone 134xxxxxxxx  address jiangsuProvince suzhouShi tel kunShanShi threeWaterShawTree "
console.log(str.length) //126

一、查找索引

1.从前往后找,结果为所要查找字符串首次出现的位置,
第二个参数为从该位置开始向后查询字符串,
未找到,查询结果为-1

var syi = str.indexOf("man", 10)
console.log("man首次出现的位置", syi) //35

2.从后往前找,索引都是从前往后排序的

var lsy = str.lastIndexOf("man")
console.log("man最后出现的位置", lsy) //35

3.search与indexOf的功能相同,search无法设置从哪一个位置开始查找,
indexOf无法设置更强大的搜索值(正则表达式)

var position = str.search("tel")
console.log("tel", position) //39

二、slice

1.截取字符串在14-16位置的字符串,返回结果包括第一个位置,不包括第二个位置

var str1 = str.slice(14, 16)
console.log("截取的字符串1", str1) //is

2. 若参数只有一个,返回的结果为第二个位置之后所有的字符串,原值不变

var str2 = str.slice(14)
console.log("截取的字符串2", str2)
// is a employee gender man telephone 134xxxxxxxx  address jiangsuProvince suzhouShi tel kunShanShi threeWaterShawTree 
console.log(str)

3.若没有参数,返回结果为从0截取到最后一个位置

var str3 = str.slice()
console.log("截取的字符串3", str3)
// 11xieYaoPeng is a employee gender man telephone 134xxxxxxxx  address jiangsuProvince suzhouShi tel kunShanShi threeWaterShawTree 

4. 从后往前截取 (负值不适用于IE8及以前版本)

var str4 = str.slice(-19)
console.log("截取的字符串4", str4)
// threeWaterShawTree

5. 从后往前截取,包括第一个位置的,不包括第二个位置的

var str5 = str.slice(-19,-14)
console.log("截取的字符串5", str5)
// three

三、substr

1.第一个参数代表所要截取的位置,第二个参数代表截取的字符串的长度

var str6 = str.substr(100,10)
console.log("截取的字符串6:",str6)
// kunShanShi

2.截取位置及之后的字符串

var str7 = str.substr(100)
console.log("截取的字符串7:",str7)
// kunShanShi threeWaterShawTree 

3.第一个参数为负数,从后往前查询倒数第一百的位置,截取长度为十的字符串

var str8 = str.substr(-100,10)
console.log("截取的字符串8:",str8)
// nder man t

4.因为第二个参数代表截取字符串的长度,所以不能为负值,
若第二个参数为负值,返回结果为空字符串

var str9 = str.substr(100,-10)
console.log("截取的字符串9:",str9 == "") 
// true

5.若只有一个参数,且为负值,从后往前检索至倒数第十九的位置,并返回剩余的字符串

var str10 = str.substr(-19)
console.log("截取的字符串10:",str10)
// threeWaterShawTree 

四、substring

var string1 = "hahaha xixixi zezeze"

1.截取第二到第七的字符串

var str11 = string1.substring(7,2)
console.log("截取的字符串:",str11)
// haha 

2.若第一个参数为负值,则表示从字符串的第一个位置开始截取,截取到第二个参数所在的位置

var str12 = string1.substring(-7,8)
console.log("截取的字符串:",str12)
// hahaha x

3.若只有一个参数,且参数为负值,与没有参数时情况相同,截取整个字符串

var str13 = string1.substring(-7)
console.log("截取的字符串:",str13)
// hahaha xixixi zezeze
var str14 = string1.substring()
console.log("截取的字符串:",str14)
// hahaha xixixi zezeze

5.若两个参数都为负值,即代表从开始位置截取到开始位置,结果为空字符串

var str15 = string1.substring(-1,-2)
console.log("截取的字符串:",str15 === "")
// true
console.log(string1)
// hahaha xixixi zezeze
console.log(str)
// 11xieYaoPeng is a employee gender man telephone 134xxxxxxxx  address jiangsuProvince suzhouShi tel kunShanShi threeWaterShawTree 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xie_bro777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值