首页 > 网站 > WEB开发 > 正文

Js字符串常用操作总结

2024-04-27 15:06:56
字体:
来源:转载
供稿:网友

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);//0console.log(matches[0]);//"cat"console.log(pattern.lastIndex);//0Array[1]0:"cat"index:0input:"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<bconsole.log(stringValue.localeCompare("yellow"));//0,y=yconsole.log(stringValue.localeCompare("zoo"));//-1,y>z

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表