String


字符串内使用单引号,反斜杠
1
2
'Did she say \'Hello\'? I am \\'
"Did she say 'Hello'? I am \"
遍历

for…of, for

匹配判断

1、查字符串: includes()

1
2
3
4
includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。
var str = 'string';
str.includes('str'); // true
str.includes('str', 1); // false

2、查找:indexOf()

1
2
3
4
5
indexOf() 方法返回调用  String 对象中第一次出现的指定值的索引。第二个参数表示从第几位向后开始查找
var str = 'string'
str.indexOf('str'); // 0
str.indexOf('tr'); // 1
str.indexOf('tr', 2); // -1

3、搜索:lastIndexOf()

1
2
3
4
5
lastIndexOf() 方法返回指定值在调用该方法的字符串中最后出现的位置,若没找到则返回 -1。从该字符串的后面向前查找。第二个参数表示从第几位开始
var str = 'stringstring'
str.lastIndexOf('str'); // 6
str.lastIndexOf('str', 0); // 0
str.lastIndexOf('tr', 0); // -1

4、搜索:search()

1
2
3
4
5
6
search()给字符串查找regExp相对应的字符,返回相应的位置
let str='stringstring'
str.search('t') // 1 会隐式转换为regExp
str.search(/tr/) // 1
str.search(/tr/g) // 1 全局搜索没用
str.search(/a/g) // -1

取值

1、按位置取单个值:chartAt()

1
2
3
4
5
var str = "hello";
console.log( str.length );
console.log( str[0] ); // h
console.log( str.charAt(0) ); // h
console.log( str.charCodeAt(0) ); // 104

2、截取:substr, substring, slice

1
2
3
4
var str = "hello world";
var sub1 = str.substr(1, 3); // 第一个是开始位置, 第二个是长度 ell, 包头包尾
var sub2 = str.substring(1, 3); // 第一个是开始位置,第二个是结束位置,长度为第二个-第一个 el,包头不包尾
var sub3 = str.slice(1, 3); // 同上 允许负参,包头不包尾

3、去空格:trim

1
2
3
4
5
6
7
8
trim()删除头尾空格
let str = ' str ing '
str.trim() // 'str ing'
trimRight()删除最右空格
let str = ' str ing '
str.trimRight() // ' str ing'
trimLeft()删除最左空格
str.trimLeft() // 'str ing '

找出匹配元素

1、匹配:match()

1
2
3
4
5
match() 当一个字符串与一个正则表达式匹配时, match()方法检索匹配项。若传入一个非正则表达式,则会隐式地使用 new RegExp(obj) 将其转换为RegExp 。
let str = "stringstring"
str.match('ins') // null,不匹配结果
str.match(/str/) // ["str", index: 0, input: "stringstring", groups: undefined]和regExp.exec()返回值类似
str.match(/str/g) // ['str', 'str']

2、开始结束匹配:startsWith(), endsWith()

1
2
3
4
5
endsWith()方法用来判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 true 或 false。
var str = 'string';
str.endsWith('ing'); // true
str.endsWith('ing', 6); // true 默认情况下第二个参数为字符串的长度
str.endsWith('in', 5); // true 表示从strin开始查询

1
2
3
4
5
startsWidth()方法用来判断当前字符串是否以给定字符串开头的,返回true或false
let str = 'string'
str.startsWidth('str') // true
str.startsWidth('ing') // false
str.startsWidth('ing', 3) // true

替换

1、替换:replace()

1
2
var str = "hello my world";
var s2 = str.replace('my', 'your'); // 'hello your world'

大小写

1、大小写:toUpperCase(), toLowerCase()

1
2
3
var str = "Hello";
str.toUpperCase();
str.toLowerCase();

填充

1、填充

1
2
3
4
5
padEnd()给字符串填充到指定长度,第一个参数为目标字符串的长度,若小于当前字符串则忽略,第二个参数为填充的内容,否则填充为''
let str='str'
str.padEnd(10) // 'str '
str.padEnd(1) // 'str'
str.padEnd(10, 'a') // 'straaaaaaa'

2、填充2

1
padStart()给字符串向前填充到指定长度,和padEnd用法差不多

12、填充3

1
2
3
4
5
repeat()给字符串填充字符串数量的个数
let str='string'
str.repeat(0) // ''
str.repeat(1) // 'string'
str.repeat(2) // 'stringstring'

13、转换数组

1
2
3
4
let str = 'str'
str.split() // ['str']
str.split("") // ['s','t','r']
str.split(',') // ['str']