欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript编程开发String类型解析

程序员文章站 2023-01-28 20:29:48
字符方法 访问字符串中特定字符的方法: charat()和charcodeat()。这两个方法都接收一个参数,即基于0的字符位置。 charat()...

字符方法

访问字符串中特定字符的方法:

charat()和charcodeat()。这两个方法都接收一个参数,即基于0的字符位置。

charat() charcodeat()
以单个字符字符串的形式返回给定位置的那个字符 返回给定位置的那个字符的字符编码
var stringvalue = “hello world”; stringvalue.charat(1) //返回“e” var stringvalue = “hello world”; stringvalue.charcodeat(1) //返回”101”

字符串操作方法

1、concat()方法,将一或多个字符串拼接起来,返回拼接得到的新字符串

        var stringvalue = "hello ";
         var result = stringvalue.concat("world");
         //stringvalue的值为"hello ",result的值为“hello world”
         var result1 = stringvalue.concat("world","!");
         //stringvalue的值为"hello ",result1的值为“hello world!”
虽然concat()是专门用来拼接字符串的方法,但在实践中更多的还是用加号操作符(+)

2、基于子字符串创建新字符串的方法:slice()、substr()、substring()

相同点:
*都会返回被操作字符串的一个子字符串,
*而且也都接受一或两个参数,第一个参数指定字符串的开始位置,第二个参数表示子字符串到哪里结束。
*没有传递第二个参数,则将字符串的末尾作为结束位置
*slice()、substring()和substr()都不会修改字符串本身的值
不同点:
*slice()和substring的第二个参数指定的是子字符串最后一个字符后面的位置。substr()的第二个参数指定的是返回字符个数。
*传递给方法的参数是负数时,slice()会将传入的负值与字符串的长度相加,substring()将负的第一个参数加上字符串的长度,而将负的第二个参数转化为0,substr()将所有负值参数都转化为0。

字符串位置方法 indexof()和lastindexof()

相同点:这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有你找到该子字符串,则返回-1)
不同点:indexof()方法是从字符串的开头向后搜索子字符串,而lastindexof()方法是从字符串的末尾向前搜索子字符串。
var stringvalue = "hello world";
stringvalue.indexof("o");//4
stringvalue.lastindexof("o");//7

trim()方法会创建一个字符串的副本,删除前置和后缀的所有空格,然后返回结果。不会改变字符串本身的值

var stringvalue = "    hello world    ";
var trimstringvalue = stringvalue.trim();
//stringvalue的值为"    hello world    ",trimstringvalue的值为"hello world";

字符串大小写转换方法

tolowercase()、tolocalelower()、touppercase()和tolocaleuppercase()

var stringvalue - "hello world";
stringvalue.touppercase();//返回值为:"hello world"
stringvalue.tolocalelowercase();//返回值为:"hello world"
stringvalue.tolocalelowercase();//返回值为:"hello world"
stringvalue.tolowercase();//返回值为:"hello world"

字符串的模式匹配方法

第一个方法:match()

match()方法只接收一个参数,要么是一个正则表达式,要么是一个regexp对象。
match()方法返回的是一个数组。
例子:
var text = "cat, bat, sat, fat";
var pattern = /.at/;//匹配第一个以at结尾的字符

//与pattern.exec(text)相同
var matchs = text.match(pattern);
matchs.index;//返回值为0
matchs[0];//返回值为"cat"
parttern.lastindex;//返回值为0

第二个方法:search()

这个方法的唯一参数与,match()方法的参数相同,由字符串或regexp对象指定的一个正则表达式。
search()方法返回字符串中第一个匹配项的索引,如果没有找到匹配项,就返回-1。
而且,search()方法始终是从字符串开头向后查找模式。
var text = "cat, bat, sat, fat";
var pos = text.search(/at/);
//pos的值为1

第三个方法:replace()

这个方法接收两个参数:第一个参数可以是regexp对象或者一个字符串(这个字符串不会被转换成正则表达式),第二个参数可以是一个字符串或一个函数。
如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换所以子字符串,唯一的方法就是提供一个正则表达式,而且要指定全局(g)标识。
例子:
var text = "cat, bat, sat, fat";
var result = text.replace("at","ond");
//result的值为"cond, bat, sat, fat"
result = text.replace(/ar/g, "ond");
//result 的值为"cond, bond, sond, fond"
replace()方法的第二个参数也可以是函数。在只有一个匹配项的情况下,会向这个函数传递三个参数:模式的匹配项、模式匹配项在字符串中的位置和原始字符串。

第四个方法:split()

这个方法可以基于指定的分隔符将一个字符串分割成多个子字符串,并将结果存放在一个数组中。
分隔符可以是字符串,也可以是regexp对象(这个方法不会将字符串看成正则表达式)。
split()方法可以接收第二个参数,用于指定数组的大小,以便确保返回的数组不会超过既定大小。
例子:
var colortext = "red,blue,green,yellow";
var colors1 = colortext.split(",");
//返回值colors1为["red","blue","green","yellow"]
var colors2 = colortext.split(",",2);
//返回值colors2为["red","blue"]
var colors3 = colortext.split(/[^\,]+/);//  '/[^\,]+/'这个的意思是取不是逗号的连续字符
//返回值colors3为["",",",",",",",""]

localecompare()方法,比较两个字符串

localecompare()方法是比较两个字符串,并返回下列值中的一个:
如果字符串在字母表中应该排在字符串参数之前,则返回一个负数(大多数情况下是-1,具体的值要视实现而定);
如果字符串等于字符串参数,则返回0;
如果字符串在字母表中应该排在字符串参数之后,则返回一个正数(大多数情况下是1,具体的值同样要视实现而定);
例子:
var stringvalue = "yellow";
stringvalue.localecompare("brick");//返回值为1

fromcharcode()方法

这个方法的任务是接收多个字符编码,然后将他们转换为一个字符串。
这个方法与实例方法charcodeat()执行的是相反的操作。
例子:
string.fromcharcode(104,101,108,108,111);//"hello"