JavaScript字符串操作方法总结

charAt( )

参数为一个下标,默认为0,查询字符串对应下标的字符,超出范围返回空字符串

	var str='abcd'
	console.log( str.charAt() )	     // 'a'
	console.log( str.charAt(2) )     // 'c'
	console.log( str.charAt(100) )     // ''

charCodeAt( )

参数为一个下标,默认为0,查询字符串对应下标的字符的Unicode编码,超出范围返回NaN

	var str='abcd'
	console.log( str.charCodeAt() )	     // 97
	console.log( str.charCodeAt(2) )	     // 99

concat( )

链接字符串,相当于字符串相加。

	var str1='hello'
	var str2=' world'
	var str3=str1.concat(str2)	//相当于 var str3=str1+str2
	console.log(str3)	//'hello world'

indexOf( )

检索字符串在被检索字符串中所在的开始位置(区分大小写),空字符串返回0,不传参数返回-1,不存在返回-1。

	var str='hello world'
	str.indexOf('')		//0
	str.indexOf('llo')		//2
	str.indexOf('World')		//-1

match( )

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配项组成的数组。

	var str='1 hello 2 world 3'
	str.match(/\d+/g)		//['1','2','3']

replace( )

用于把字符串中的特定字符串替换成新的字符串,或者把符合正则表达式的字符串替换成新的字符串,返回替换后的字符串,第一个参数为被替换的字符串或表达式,第二个为插入的字符串。

	var str='1hello2world3'
	str.replace('h','H')		//1Hello2world3
	str.replace(/\d+/g,'0')		//0hello0word0
	str	//'1hello2world3'

search( )

用于检索字符串中指定的子字符串开始的位置,或检索与正则表达式相匹配的子字符串所在的位置。如果没有找到则返回-1,用法与indexOf相似。

	var str='helloWorld'
	str.search('W')		//5
	str.search(/llo/)	//2

slice( )

提取字符串片段,返回被提取的字符串。第一个参数为开始位置,必填,第二个参数为结束位置(不包括),不填默认截取到最后。参数可以为负值,负值代表从后往前数

	var str='helloWorld'
	str.slice(1)	//'elloWorld'
	str.slice(0,4)		//'hell'

split( )

用于分割字符串,返回分割后的片段组成的数组,第一个参数为分割标识符,第二个参数可选,表示分割后形成的数组保留的长度,不填默认保留全部

	var str='helloWorld'
	str.split('o')		//['hell','W','rld']
	str.split('',3)		//['h','e','l']

toLowerCase( )

把字符串转化为小写。

	var str='abcdEFG'
	str.toLowerCase()	//'abcdefg'
	str			//’abcdEFG' 

toUpperCase( )

把字符串转化为大写

	var str='abcdEFG'
	str.toUpperCase()	//'ABCDEFG'
	str			//’abcdEFG' 

substr( )

提取字符串片段,返回被提取的字符串,第一个参数为开始位置,第二个参数为总共截取的长度,默认截取到原字符串的最后一位

	var str='abcdefg'
	str.substr(2,2)		//'cd'

substring( )

提取字符串片段,返回被提取的字符串,第一个参数为开始位置,第二个参数为结束位置(不包括),与slice( )类似。

	var str='abcdefg'
	str.sunstring(2,5)		//'cde'

ES6新增操作方法

for of

for of 方法用来遍历字符串。

	var str='abcd'
	for (let item of str){
		console.log(item)	
		//	'a'
		//	'b'
		//	'c'
		//	'd'
	}

includes( )

判断字符串中是否存在某一个片段,返回布尔值。第二个参数为开始搜索的位置。

	var str='abcdefg'
	str.includse('cde')		//true

startsWith( )

判断字符串是否以传入的字符串为开始。第二个参数为开始搜索的位置。

	var str='helloWorld!'
	str.startWith('hello')		//true

endsWith( )

判断字符串是否以传入的字符串为结尾。第二个参数为开始搜索的位置。

	var str='helloWorld!'
	str.endsWith('!')		//true

repeat( )

将原字符串重复n次,返回新的字符串,传入小数会被取整Math.floor( )

	var str='a'
	str.repeat(3)		//'aaa'
	str.repeat(3.9)		//'aaa'

padStart( )和padEnd( )

用于补全字符串到指定长度,第一个参数为目标长度,如果小于或等于原字符串长度则返回原字符串,第二个参数为补全的内容(长度不够补全会重复此字符串,长度超出需要的长度会被截取),不写默认为空格,padStart( )从开始位置填充,padEnd( )从结束位置填充。

	var str='abc'
	str.padStart(5,'h')		//'hhabc'
	str.padStart(10,'hello')	//'hellohelabc'
	str.padEnd(5,'hello')	//'abche'
	str.padstart(5)		//'  abc'

matchAll( )

返回一个正则表达式在当前字符串的所有匹配。

模板字符串

用反引号 ` 标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

  • 模板字符串中使用变量用${ }包括起来,大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。
	var username='xiaohei'
	`username=${username}`		//'username=xiaohei'
  • 如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。
	var username='xiaohei'
	`/`user/`name=${username}`		//'`user`name=xiaohei'
  • 使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
	$('#box').html(
		`
			<ul>
  				<li>first</li>
  				<li>second</li>
			</ul>
		`
	)
	//上面代码中,所有模板字符串的空格和换行,都是被保留的
	//如果不想要这个换行,可以使用trim方法消除它。
	$('#box').html(
		`
			<ul>
  				<li>first</li>
  				<li>second</li>
			</ul>
		`.trim()
	)
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值