创建String对象方式
声明:String对象的方法也可以在所有基本字符串值中访问到。 调用构造函数String():301_4@
String访问及查找的方式 1.访问(通过索引) (1)charAt()或[]
1个参数,参数为字符位置,返回字符301_4@
(2)charCodeAt()
1个参数,返回字符编码301_4@
2.查找位置 (1)indexOf()
第一个参数为指定子字符串,第二个参数为检索位置。返回索引,如果没有找到则返回-1301_4@
(2)lastIndexOf()
与indexOf()的区别在于,lastIndexOf()是从字符串的末尾向前搜索子字符串字符方法 1.扩展字符串
concat() 接受任意数量参数,用于将一个或多个字符串拼接起来,返回拼接得到新的字符串副本。301_4@
2.获取子字符串方法
slice(),substr(),substring(),这三个方法都会返回被操作字符串的子字符串副本,而且也都接受1或2个参数,前闭后开[)(1)slice()
301_4@
(2)substring()
方法会把所有负值参数转换为0
str.substring(-3,-2);//"",同上
@H_301_4@
(3)substr()
方法会将负的第二个参数转换为0
@H_301_4@
substr()方法传递负值时在IE中存在问题,它会返回原始的字符串,IE9修复了这个问题
3.将字符串转换为数组
split() 基于指定的分隔符(可以是字符串,也可以是RegExp对象)将字符串分割成多个子字符串,并将结果放在一个数组中,可接受可选的第二个参数,用于指定数组的大小,返回数组。@H_301_4@
4.字符串大小写转换
toLowerCase(),toUpperCase()301_4@
5.删除字符串空格方法
trim() 删除字符串中前置以及后缀的所有空格,然后返回结果副本。@H_301_4@
6.字符串的模式匹配方法 (1)match()
参数:只接受一个参数,要么是一个正则表达式,要么是一个RegExp()对象。 返回:数组。数组中的第一项是与整个模式匹配的字符串,之后的每一项(如果有)保存着正则表达式捕获组匹配的字符串 本质上与调用exec()相同。var matches = text.match(pattern);
matches // ["cat"]
matches.input // "cat,fat"
matches.index // 0
matches // ["cat"]
matches.input // "cat,fat"
matches.index // 0
@H_301_4@
(2)search()
参数:与match()方法相同。 返回:字符串中第一个匹配项的索引,如果没有匹配项,则返回-1。 search()方法始终从前向后找text.search(pattern) // 1
@H_301_4@
(3)replace()
参数:接收两个参数,第一个参数可以是一个RegExp对象或者一个字符串(这个字符串不会转换成正则表达式),第二个参数可以是一个字符串或者一个函数。 如果 第一个参数是字符串,那么只会替换第一个子字符串。要想替换所有子字符串,唯一的办法就是提供一个正则表达式,而且要指定全局标志(g)标志。 如果 第二个参数是字符串,那么还可以使用一些特殊的字符序列,将正则表达式操作得到的值插入到结果字符串中。 也可以是函数,传递给函数的参数依次是模式的匹配项,模式的匹配项在字符串中的位置,和原始字符串。在正则表达式定义了多个捕获组的情况下,传递给函数的参数依次是模式的匹配项,第一个捕获组的匹配项,以此类推,但最后两个参数分别是模式的匹配项在字符串中的位置和原始字符串。替换文本 |
---|
var result = text.replace(pattern,'2')
result// "2-love-2"
result// "2-love-2"
text.replace(/(xxx)-\w{4}-(xxx)/g,'I love YOU');//"I love YOU"
var text = 'xxx-love-xxx';
var pattern1 = /xxx/g;
var result = text.replace(pattern1,'$$')
result// "$-love-$"
var result = text.replace(pattern1,'$&2')
result//"xxx2-love-xxx2"
var result = text.replace(pattern1,'$\'')
result//"-love-xxx-love-"
@H_301_4@