JavaScript中String对象的一些常用API详解

本文详细解析了JavaScript中String对象的各种方法,包括charAt(), charCodeAt(), fromCharCode(), concat(), indexOf(), lastIndexOf(), includes(), match(), repeat(), replace(), search(), split(), startsWith(), slice(), substr(), substring(), trim(), toLowerCase(), toUpperCase(), padStart(), padEnd()等,涵盖了字符串操作的方方面面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String 对象方法

charAt()

描述: 返回在指定位置的字符。

var str = "HELLO WORLD";
console.log(str.charAt(2)) 
//L

charCodeAt()

描述: 返回在指定的位置的字符的 Unicode 编码。

var str = "HELLO WORLD";
console.log(str.charCodeAt(2)) 
//68

fromCharCode()

描述: 将 Unicode 编码转为字符。

console.log(String.fromCharCode(65)) 
//A

concat()

描述: 连接两个或更多字符串,并返回新的字符串。

var str = "HELLO ";
console.log(str.concat('WORLD','!')) 
//HELLO WORLD!

indexOf()

描述: 返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配的字符串则返回 -1。

var str = "HELLO WORLD";
console.log(str.indexOf('L')) 
//2

lastIndexOf()

描述: 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置,如果没有找到匹配的字符串则返回 -1。

var str = "HELLO WORLD";
console.log(str.lastIndexOf('L')) 
//9

includes()

描述:查找字符串中是否包含指定的子字符串,返回true/false。
语法:string.includes(searchvalue, start)
start为开始位置,可选项

var str = "HELLO WORLD";
console.log(str.includes('L')) 
//true
console.log(str.includes('H',4)) 
//false

match()

描述:查找找到一个或多个正则表达式的匹配。
如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

var str = "The rain in SPAIN stays mainly in the plain"; ;
console.log(str.match(/ain/gi)) //g为全局匹配.i为忽略大小写
//ain,AIN,ain,ain

repeat()

描述: 复制字符串指定次数,并将它们连接在一起返回。

var str = "The"; ;
console.log(str.repeat(2)) 
//TheThe
console.log(str.repeat(0)) 
//

replace()

描述:在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。
该方法不会改变原始字符串。
可用正则进行匹配替换。

var str = "Visit Microsoft! Visit Microsoft!";
console.log(str.replace("Microsoft","Runoob")) 
//Visit Runoob!Visit Microsoft!

search()

描述:检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1。
可用正则进行检索。

var str = "Visit Microsoft! Visit Microsoft!";
console.log(str.search("Microsoft")) 
//6

注意区分indexOf()与search()的用法

split()

描述:把字符串分割为字符串数组。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
该方法不会改变原始字符串。
语法:string.split(separator,limit)
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

var str = "Hello world!";
console.log(str.split(' ')) 
//["Hello", "world!"]
console.log(str.split('')) 
//["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

startsWith()

描述:查看字符串是否以指定的子字符串开头。
语法:string.startsWith(searchvalue, start)
startsWith() 方法对大小写敏感。

var str = "Hello world!";
console.log(str.startsWith('Hello')) 
//true
console.log(str.startsWith('aaa')) 
//false

补充:startsWith()对应相反的是endsWith()
这两个方法都支持第二个参数,表示开始搜索的位置。
使用第二个参数n时,endsWith的行为有所不同。它针对前n个字符,而 startsWith() 对从第n个位置直到字符串结束。

slice()

描述:slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
该方法不会改变原始字符串。
可用正则进行匹配替换。
提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

var str = "Hello world!";
console.log(str.slice(1,6)) 
//ello w
console.log(str.slice(-1)) 
//!

substr()

描述:从起始索引号提取字符串中指定数目的字符。
语法:string.substr(start,length)

var str = "Hello world!";
console.log(str.substr(2,3)) 
//llo

substring()

描述:提取字符串中两个指定的索引号之间的字符。
语法:string.substring(from, to)

var str = "Hello world!";
console.log(str.substring(2,7)) 
//llo w

slice,substr和substring的区别

var str = "Hello world!";
console.log(str.substring(2,7))  //llo w
console.log(str.substr(2,7)) 	//llo wor
console.log(str.slice(2,7)) 	//llo w

注意substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

var str = "Hello world!";
console.log(str.substring(7,2)) //llo w

当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。

var str = "Hello world!";
console.log(str.substring(-2))  //Hello world!
console.log(str.substr(-2)) 	//d!
console.log(str.slice(-2)) 	//d!

注意:IE对substr接收负值的处理有错,它会返回原始字符串。

trim()

描述: 去除字符串两边的空白
trim() 方法不会改变原始字符串。

var str = "       Hello     ";
console.log(str.trim()) 
//Hello

补充:es2019 对字符串实例新增了 trimStart()trimEnd() 这两个方法
trimStart() 消除字符串头部的空格, trimEnd() 消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

toLowerCase()

描述: 把字符串转换为小写。

var str = "Hello world!";
console.log(str.toLowerCase()) 
//hello world!

toUpperCase()

描述: 把字符串转换为小写。

var str = "Hello world!";
console.log(str.toUpperCase()) 
//HELLO WORLD!

padStart(),padEnd()

描述:ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

'x'.padStart(5, '0') // '0000x'
'x'.padStart(4) // '   x' 第二个参数为空,则填充空格

'x'.padEnd(5, '01') // 'x0101'
'x'.padEnd(4, '01234') // 'x012'
//如果补全的字符串与原字符串两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。

本文章是本人学习了解所写,如有错误欢迎指出。
引用:https://www.runoob.com/jsref/jsref-obj-string.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值