JavaScript中常用字符串方法总结

目录

length获取字符串长度

获取字符在字符串中所处位置

indexOf()获取出现位置(从前往后查找)

lastIndexOf()获取出现位置(从后往前查找)

search()正则表达式查找

includes()查找字符串中的字符串

startsWith()判断是否以某字符串开头

endsWith()判断是否以某字段结尾

charAt()查找指定下标的字符 

大小写转换

toUpperCase()转为大写

toLowerCase()转为小写

删除字符串空白字符

trim()删除首尾两侧空白字符

trimEnd()删除尾部空白字符

trimStart()删除首部空白字符

截取字符串

substring()截取

substr()被废弃

split()拆分方法

连接字符串

concat()连接字符串

替换字符串方法

replace()替换方法

重复字符串

repeat()重复方法


前言:

所有的字符串方法都是返回新的字符串,不会更改原始字符串(这一点比数组好区分多了~)

length获取字符串长度

var str = 'bad girl';
console.log(str.length); // 8

获取字符在字符串中所处位置

indexOf()获取出现位置(从前往后查找)

str.indexOf(searchString, position) // 第一个参数是要查找的字符,第二个参数是开始查找的位置
// 第二个参数可省略,默认从第一个字符开始查找

该方法接收两个参数,第一个参数是要查找的字符,第二个参数是开始查找的位置,若不传第二个参数,则默认从0开始查找;若参数小于0,也默认从0开始查找;查找时区分大小写~

该方法返回查找字段所在索引位置,若找不到,则返回-1; 

 var str = 'good good study, day day up';
 console.log(str.indexOf('a')); // 18 取得是第一个day中的a

 var str = 'good good study, day day up';
 console.log(str.indexOf('a', 19)); // 22 从第19个字符开始查找

 var str = 'good good study, day day up';
 console.log(str.indexOf('e')); // -1 没找到字符e

lastIndexOf()获取出现位置(从后往前查找)

参数与用法有indexOf()方法一样,如果第二个参数大于或等于数组的长度,则表示整个数组会被查找;若为负值,则视为从0开始查找;

var str = 'good good study, day day up';
console.log(str.lastIndexOf('a')); // 22 取得是第二个day中的a
console.log(str.lastIndexOf('a', -22)); // -1 负数默认从索引位置0处取,0位置是g,所以结果为-1

search()正则表达式查找

该方法执行正则表达式对String对象进行搜索匹配;

str.search(regexp)

所传参数为一个正则表达式对象,若传入一个非正则表达式对象,则会使用new RegExp(regexp)隐式的将其转换为正则表达式对象;

若匹配成功,则返回正则表达式在字符串中首次匹配项的索引值,反之为-1;

var str = 'good good study, day day up';
console.log(str.search(/oo/)); // 1
console.log(str.search(/^oo$/)); // -1
console.log(str.search('o')); // 1

includes()查找字符串中的字符串

该方法执行区分大小写的搜索,以确定是否可以在另一个字符串中找到一个字符串,如果能找到则返回true,反之返回false;同样可接收两个参数,第一个参数是要查找的字符串,第二个字符串是开始查找位置;

str.includes(searchString)
str.includes(searchString, position)
var str = 'good good study, day day up';
console.log(str.includes('oo')); // true
console.log(str.includes('oo', 8)); // false

startsWith()判断是否以某字符串开头

startsWith()方法用来判断当前字符串是否以另外一个子字符串开头(区分大小写),如果是返回true,反之返回false;

str.startsWith(searchString)
str.startsWith(searchString, position)

同样有两个参数,第一个参数表示子字符串,第二个参数是开始查找的位置;

var str = 'good good study, day day up';
console.log(str.startsWith('good')); // true
console.log(str.startsWith('study')); // false

endsWith()判断是否以某字段结尾

endsWith()方法用来判断当前字符串是否以另外一个子字符串结尾(区分大小写),如果是返回true,反之返回false;

str.startsWith(searchString)
str.startsWith(searchString, length)

同样有两个参数,第一个参数表示子字符串,第二个参数表示截取的str的长度,若不传则默认是str.length 

var str = 'good good study, day day up';
console.log(str.endsWith('up')); // true
console.log(str.endsWith('study')); // false
console.log(str.endsWith('study',15)); // true

charAt()查找指定下标的字符 

该方法返回指定下标的字符;参数index取值在0~str-length-1之间,如果不在此范围,该方法将返回一个空字符串。

str.charAt(index)
var str = 'good good study, day day up';
console.log(str.charAt(3)); // d

大小写转换

toUpperCase()转为大写

str.toUpperCase()
var str = 'good good study, day day up';
console.log(str.toUpperCase()); // GOOD GOOD STUDY, DAY DAY UP

toLowerCase()转为小写

str.toLowerCase()
var str1 = 'GOOD GOOD STUDY, DAY DAY UP';
console.log(str.toLowerCase()); // good good study, day day up

删除字符串空白字符

trim()删除首尾两侧空白字符

该方法删除首尾两侧的空白字符,包含空格、tab以及不换行空格,所有行终止符(如LF/CR等)

str.trim()
 var str = '  good good study, day day up  ';
 console.log(str); //   good good study, day day up  
 console.log(str.trim()); // good good study, day day up

trimEnd()删除尾部空白字符

该方法会删除字符串末尾的空白字符。该方法等同于trimRight();

var str = 'good good study, day day up  ';
console.log(str.length); // 29  
console.log(str.trimEnd().length); // 27

trimStart()删除首部空白字符

该方法会删除字符串首部的空白字符。该方法等同于trimLeft();

  var str = '   good good study, day day up';
  console.log(str.length); // 30  
  console.log(str.trimStart().length); // 27

截取字符串

slice()截取

slice()方法截取某个字符串的一部分,返回一个新的字符串;

str.slice(beginIndex)
str.slice(beginIndex, endIndex)

接收两个参数,第一个参数是开始截取的索引位置,第二个参数是停止截取的索引位置(可选,若不传,默认到字符串结尾);左闭右开

如果参数为负值,则按beginIndex+strLength或endIndex+strLength来算;strLength是字符串的长度

var str = 'good good study, day day up';
console.log(str.slice(1,6)); // ood g
console.log(str.slice(1,-9)); // 从1到(27-9)取字符串,结果为good good study, d

substring()截取

该方法返回一个字符串在开始索引到结束索引之间的一个子集;

str.substring(indexStart)
str.substring(indexStart, indexEnd)

有两个参数,第一个参数表示截取的开始索引,第二个参数可选,表示截取的截止位置(左闭右开),几个注意点:

  • 若两个参数相同,则返回一个空字符串
  • 若参数小于0或为NaN,则被当做0;
  • 若第一个参数大于第二个参数,则结果与顺序正常一样
var str = 'good good study, day day up';
console.log(str.substring(1,6)); // ood g
console.log(str.substring(1,-9)); // 相当于(0,1) g
console.log(str.substring(8, 1)); // 相当于(1,9) ood goo

和slice方法的区别是关于参数为负数的处理方法不同~

substr()被废弃

split()拆分方法

该方法用于在指定分隔字符处将字符串分隔成子字符串,并将其组成一个子字符串数组

str.split()
str.split(separator)
str.split(separator, limit)

第一个参数表示分隔符或正则表达式,如“|”,则表示依据字符串中的“|”进行分割,找到分隔符后,将其从字符串中删除,若参数是正则表达式,并且加了括号,则不用删除,返回全部组成的数组

第二个参数表示限定返回的分割片段数量。如分割成了5个片段,若此值设为3,则只返回前三个片段组成的数组

var str = 'good good study, day day up';
console.log(str.split(' ')); // ['good', 'good', 'study,', 'day', 'day', 'up']
console.log(str.split(' ', 3));  // ['good', 'good', 'study,']
console.log(str.split(/oo/)); // ['g', 'd g', 'd study, day day up']
console.log(str.split(/oo/, 2));  //  ['g', 'd g']
console.log(str.split(/(oo)/)); // ['g', 'oo', 'd g', 'oo', 'd study, day day up']
console.log(str.split(/(oo)/, 2));  //  ['go', 'oo']

数组的join()方法作用相反

连接字符串

concat()连接字符串

可连接多个字符串,并返回新连接后的字符串

concat(str1, str2, /* …, */ strN)
var str = 'good good study, day day up';
var str1 = 'and earn money';
var str2 = 'make world beauty';
console.log(str.concat(str1,str2)); // good good study, day day upand earn moneymake world beauty

替换字符串方法

replace()替换方法

该方法在之前正则表达式中已讲过,它返回由替换值代替后的新的字符串

str.replace(regexp|substr, newSubStr|function)

第一个参数可以是个正则表达式或字符串形式,第二个参数可以是要替换成的新的字符串或函数(用于创建新子字符串的函数,该函数的返回值作为新字符串进行替换);仅能够替换掉第一个匹配到的字符串; 若使用正则表达式进行匹配替换,可使用/g标识

var str = 'good good study, day day up';
console.log(str.replace('good', 'bad')); // bad good study, day day up
console.log(str.replace(/good/, 'bad')); // bad good study, day day up
console.log(str.replace(/good/g, 'bad')); // bad bad study, day day up

重复字符串

repeat()重复方法

str.repeat(count)

将str重复count次

var str = 'good';
console.log(str.repeat(3)); // goodgoodgood

猜你喜欢

转载自blog.csdn.net/ks795820/article/details/127977746