Js字符串常用操作总结

String类型

String类型是字符串的对象包装类型,可以使用String构造函数来创建

var stringObject = new String("hello world");
1.字符方法

charAt():以单字符字符串的形式返回给定位置的字符
charCodeAt(): 返回该位置字符的字符编码
是用于访问字符串中特定字符的方法,都接收一个参数,即基于0的字符位置。

2.字符串操作方法

contact():用于将一个或者多个字符串拼接起来,返回拼接得到的新字符串
contact()方法可以接受任意多个参数,也就是说可以通过它拼接任意多个字符串。
ECMAScript还提供了三个基于字符串创建新字符串的方法:slice()、substr()、substring()
这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一或两个参数。
第一个参数指定字符串的开始位置,第二个参数(在特定情况下)表示字符串到哪里结束。
具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置,而substr()的第二个参数指定的则是返回的字符个数。如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。同样,这三个方法不会修改字符串本身的值。

var stringValue = "Hello world";
console.log(stringValue.slice(3));//"lo world"
console.log(stringValue.substring(3));//"lo world"
console.log(stringValue.substr(3));//"lo world"
console.log(stringValue.slice(3,7));//"lo w"
console.log(stringValue.substring(3,7));//"lo w"
console.log(stringValue.substr(3,7));//"lo worl"
//substr(3,7)从3开始返回7个字符,空格也占位

在给slice()和substr()传递一个负值参数时,他们的行为相同(加上字符串的长度),但substring()会返回全部字符串因为会将负数转化为0.

var stringValue = "hello world";
console.log(stringValue.slice(-3));//"rld"
console.log(stringValue.substring(-3));//"hello world"
console.log(stringValue.substr(-3));//"rld"
console.log(stringValue.slice(3,-4));//"lo w"(3,7)
console.log(stringValue.substring(3,-4));//"hel"(3,0)
console.log(stringValue.substr(3,-4));//""(空字符串)

substring()参数为负数时,会自动转化为0.

3.字符串位置方法

从字符串中查找子字符串的方法:indexOf()和lastIndexOf().从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到该子字符串,则返回-1)indexOf()从前向后搜索,lastIndexOf()从后向前搜索。
接受可选的第二个参数,表示开始搜索的位置。

4.trim()方法

ECMAScript为所有字符串定义了trim()方法。这个方法会创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。

var stringValue = "  hello world   ";
var trimmedStringValue = stringValue.trim();
console.log(stringValue);//"  hello world   "
console.log(trimmedStringValue);//"hello world"

只删除前后缀空格

5.字符串大小写转换方法

toLowerCase()
toLocaleLowerCase()
toUpperCase()
toLocaleUpperCase()

toLocaleLowerCase()和toLocaleUpperCase()是针对特定地区的实现

6.字符串的模式匹配方法

String类型定义了几个用于在字符串中匹配模式的方法。
match()本质上与RegExp的exec()方法相同。match()方法只接受一个参数,正则表达式或者是一个RegExp对象

var text = "cat,bat,sat,fat";
var pattern = /.at/;

//与pattern.exec(text)相同
var matches = text.match(pattern);
console.log(matches.index);//0
console.log(matches[0]);//"cat"
console.log(pattern.lastIndex);//0
Array[1]
0:"cat"
index:0
input:"cat,bat,sat,fat"
length:1

本例中match()方法返回了一个数组,数组的第一项是与整个模式匹配的字符串,之后的每一项(如果有)保存着与正则表达式中的捕获组匹配的字符串。
match 方法返回的数组有三个属性:input、index和lastIndex
Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。
另一个用于查找模式的方法是search(),这个方法的唯一参数与match()方法的参数相同:由字符串或RegExp对象指定的一个正则表达式。
search()方法返回字符串中第一个匹配项的索引:如果没有找到匹配项,则返回-1.而且,search()方法始终是从字符串开头向后查找模式。

var text = "cat,bat,sat,fat";
var pos = text.search(/at/);//参数:正则表达式
console.log(pos);//1

replace()方法,接受两个参数:第一个参数可以是一个RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数。
如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换所有字符串,唯一的办法就是提供一个正则表达式,需要指定全局(g)标志。

var text = "cat,bat,sat,fat";
var result = text.replace("at","ond");
console.log(result);//"cond,bat,sat,fat"

result = text.replace(/at/g,"ond");
console.log(result);//"cond,bond,sond,fond" 

split()字符串分隔函数
可以基于指定的分隔符将一个字符串分隔成多个字符串,并将结果放在一个数组中。
该方法接受可选的第 二个参数,用于指定数组的大小,以确保返回的数组不会超过既定大小。

localeCompare():用于比较两个字符串

var stringValue = "yellow";
console.log(stringValue.localeCompare("brick"));//1,y<b
console.log(stringValue.localeCompare("yellow"));//0,y=y
console.log(stringValue.localeCompare("zoo"));//-1,y>z

fromCharCode()方法接收一或多个字符编码,然后将他们转换成一个字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值