ES字符串操作:遍历、比较、截取、补全...

1.确定一个字符串是否包含在另一个字符串中

let s = 'Hello world!';
 
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

这三个方法都支持第二个参数,表示开始搜索的位置。

  let s = 'Hello world!';
     
    s.startsWith('world', 6) // true
    s.endsWith('Hello', 5) // true
    s.includes('Hello', 6) // false

上面代码表示,使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

2.重复字符串

repeat方法返回一个新字符串,表示将原字符串重复n次。

 'x'.repeat(3) // "xxx"
 'hello'.repeat(2) // "hellohello"
 'na'.repeat(0) // ""

3.补全字符串

如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。

'abc'.padStart(10, '0123456789')
// '0123456abc'

padStart的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。

 '1'.padStart(10, '0') // "0000000001"
 '12'.padStart(10, '0') // "0000000012"
'123456'.padStart(10, '0') // "0000123456"

另一个用途是提示字符串格式。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"

4.截取字符串

substring(start,end) 用法:
substring(start,end) 用数学表达式表达区间的话就是截取[start,end);
substring(start) 没有end相当于[start,最后一个字符]

let str = 'Hello world';
let use1 = str.substring(0, 3);
console.log(use1); // Hel
let use2 = str.substring(3,0);
console.log(use2); // hel
let use3 = str.substring(2);
console.log(use3); // llo world

5. 截取指定位置和指定长度的字符串

substr(start,length) 用法:
substr(start,length) -> 截取的字符串区间为:[start,start+length)->从start开始,算上start数length个字符串;
substr(start) -> 截取的字符串区间为:[start,最后一个字符]

 let str = 'Hello world';
 console.log(str.substr(1,2)) // el
 console.log(str.substr(3)) // lo world

indexOf(char,index)lastIndexOf(char,index)

char:是你要找的那个字符,index:是从哪个字符的位置序号开始找(没有则在indexOf中是最左边的字符,在lastIndexOf中是最右边的字符);
indexOf是从左往右搜索,而lastIndexOf是从右往左搜索;
它们的返回值都是搜到char所在的位置序号,如果没搜到,返回-1
如果index为负数,那么在indexOf和lastIndexOf方法中,-1代表的是最后一个字符

let str = 'good';
  console.log(str.indexOf('o')); // 1
  console.log(str.lastIndexOf('o')); // 2

charAt(index)charCodeAt(index)at(index) (es6属性)

charAt(index)返回index位置的字符
charCodeAt(index)返回index位置的字符Unicode码
charAt(index)不能识别大于0xFFFF的字符,这时候可以用at()来识别

  var str = 'abc'
  str.charAt(0) // a
  str.charCodeAt(0) // 97

6.截取字符串

slice(start,end) 用法:
slice的用法和substring的用法基本一样,只是区别在于:

slice(start,end) -> start是不能大于end的,否则返回空字符串;
slice可以接受参数是负数,如果是负数的话,规则将按照:字符串的长度和赋值相加,替换掉这个值。举例如下:

let str = 'abcdefg' // length = 7
str.slice(1,-4) // bc  -> str.slice(1,7-4) -> str.slice(1,3)

7.数组转字符串

datas.join(',') //变成字符串后,以逗号分隔

8.字符串转数组

data.split(',') //字符串按逗号分隔成数组

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值