JS操作字符串常用方法及增删改查

1、增

concat:可以传任何个数的参数,用于字符串的拼接,返回连接后的字符串,而原字符串不受影响

let str = '11,22,33'
str.concat(',44',',55') // "11,22,33,44,55"

“+”号

var str1 = 'Hello', str2 = ' World', str3 = '!';
console.log(str1 + str2);    // "Hello World"
console.log(str1 + str2 + str3);    // "Hello World!"
console.log(str1);    // "Hello"
2、删(即:裁剪“三剑客”)

① substr()第二个参数是裁剪长度,只要为负,裁剪结果必定是空字符串
② 不管如何裁剪,均不影响原字符串
③ 当参数为负,slice加总长,substring则归零,substr一加总长一归零。

slice(start,end):截取字符串

截取从 start 位置开始, end 位置结束(不包含 end) 的字符串,返回一个新字符串

若参数为负数,需要从尾部位置倒数 负数参数长度 作为生效位置

start 大于 end ,则返回空字符串;start 大于字符串长度,返回空字符串
let s = '12345678'
1. 没有参数, 从 0 开始到结束位置进行截取
s.slice()  // s = '12345678'  --->  '12345678'

2. 一个参数
2.1 正数:从 start 开始到结束位置进行截取,超出总长度,返回空字符串
    s.slice(0)  // s = '12345678'  --->  '12345678'
    s.slice(1)  // s = '12345678'  --->  '2345678'
    s.slice(10)  // s = '12345678'  --->  ''

2.2 负数:若参数为负数,需要从尾部位置倒数 `负数参数长度` 作为生效位置
    (可将负数参数与字符串长度相加即可得到生效数值)
    s.slice(-2)  // s.slice(6) ---> s = '12345678'  --->  '78'

3. 两个参数
3.1 正数:从 start 开始到 end 位置进行截取
    s.slice(1, 2)  // s = '12345678'  --->  '2'

3.2 负数:若参数为负数,需要从尾部位置倒数 `负数参数长度` 作为生效位置
    (可将负数参数与字符串长度相加即可得到生效数值)
    s.slice(5, -1)  // s.slice(5, 7) ---> s = '12345678'  --->  '67'
    s.slice(-2, -1)  // s.slice(6, 7) ---> s = '12345678'  --->  '7'
    s.slice(-1, -2)  // s.slice(7, 6) ---> s = '12345678'  --->  ''

substring(start,end):截取字符串

截取从 start 位置开始, end 位置结束(不包含 end) 的字符串,返回一个新字符串

不支持负数,若有负数,将会重置为 0

start 大于 end ,会将两者位置对调

start 大于字符串长度,返回空字符串
let s = '12345678'
1. 没有参数, 从 0 开始到结束位置进行截取
s.substring()  // s = '12345678'  --->  '12345678'

2. 一个参数
2.1 正数:从 start 开始到结束位置进行截取,超出总长度,返回空字符串
    s.substring(0)  // s = '12345678'  --->  '12345678'
    s.substring(1)  // s = '12345678'  --->  '2345678'
    s.substring(10)  // s = '12345678'  --->  ''

2.2 负数:若参数为负数,重置为 0
    s.substring(-2)  // s.substring(0) ---> s = '12345678'  --->  '12345678'

3. 两个参数
3.1 正数:从 start 开始到 end 位置进行截取
    start 若比 end 大,将会将两者位置对调 
    s.substring(1, 2)  // s = '12345678'  --->  '2'
    s.substring(2, 1)  // s.substring(1, 2) ---> s = '12345678'  --->  '2'

3.2 负数:若参数为负数,重置为 0
    start 若比 end 大,将会将两者位置对调 
    s.substring(5, -1)  // s.substring(5, 0) ---> s.substring(0, 5) ---> s = '12345678'  --->  '12345'
    s.substring(-2, -1)  // s.substring(0, 0) ---> s = '12345678'  --->  '0'

substr(start, length):从指定位置截取固定长度的字符串

截取从 start 位置开始, 截取长度为 length ,返回一个新字符串

若 start 为负数,需要从尾部位置倒数 start长度 作为生效位置

length 不支持负数,若 length 为负数,会被重置成 0,将返回空字符串

start 大于字符串长度,返回空字符串
let s = '12345678'
1. 没有参数, 从 0 开始到结束位置进行截取
s.substr()  // s = '12345678'  --->  '12345678'

2. 一个参数
2.1 正数:从 start 开始到结束位置进行截取,超出总长度,返回空字符串
    s.substr(0)  // s = '12345678'  --->  '12345678'
    s.substr(1)  // s = '12345678'  --->  '2345678'
    s.substr(10)  // s = '12345678'  --->  ''

2.2 负数:若 start 为负数,需要从尾部位置倒数 `start长度` 作为生效位置
    (可将 start 与字符串长度相加即可得到生效数值)
    s.substr(-2)  // s.substr(6) ---> s = '12345678'  --->  '78'

3. 两个参数
3.1 正数:从 start 开始,截取长度为 length
    s.substr(1, 2)  // s = '12345678'  --->  '23'
    s.substr(2, 1)  // s = '12345678'  --->  '3'

3.2 负数:若 start 为负数,需要从尾部位置倒数 `start长度` 作为生效位置
    (可将 start 与字符串长度相加即可得到生效数值)
    若 length 为负数,会被重置成 0,将返回空字符串
    s.substr(5, -1)  // s.substr(5, 0) ---> s = '12345678'  --->  ''
    s.substr(-2, 1)  // s.substr(6, 1) ---> s = '12345678'  --->  '7'

1.大小写转换

toLowerCase()和toLocaleLowerCase() // 大 ---> 小
toUpperCase()和toLocaleUpperCase() // 小 ---> 大

2、替换:replace(regexp/substr, replacement)

var str = 'abc cBa'
var res1 = str.replace('b', '王')
var res2 = str.replace(new RegExp('b', 'gi'), '王')
console.log(res1) // 'a王c cBa'
console.log(res2) // 'a王c c王a'

1、字符方法

var str = 'Hello World'
charAt(index):查找指定下标的字符
console.log(str.charAt(2));  // "l"

charCodeAt(index):查找指定下标的字符unicode编码
console.log(str.charCodeAt(2));  // 108  字符编码

2、位置方法

indexOf(searchString, startIndex) :查找子字符串首次出现的位置
var str = 'abcde'
var res1 = str.indexOf('c')
var res2 = str.indexOf('c', 3)
console.log(res1) // 2
console.log(res2) // -1 未查到返回-1

lastIndexOf(searchString, startIndex) :查找子字符串最后出现的位置
var str = 'abcde'
var res1 = str.lastIndexOf('c')
var res2 = str.lastIndexOf('c', 1)
console.log(res1) // 2
console.log(res2) // -1 未查到返回-1
四舍五入

toFixed(num):num表示保留2位小数

var a = 2
var b = 3
var c = (a/b).toFixed(2) // 0.67
var c = (a/b).toFixed(3) // 0.667
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值