当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript编程开发String类型解析

JavaScript编程开发String类型解析

2019年03月22日  | 移动技术网IT编程  | 我要评论

字符方法

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

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"

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网