字符串的方法总结(注意字符串的不可变性)
1 str.charAt(index) : 返回位于index处的字符 ;如果index不在0和str.length-1之间那么返回一个空字符 ;
2 str.charCodeAt(index): 返回位于index处的字符的Unicode编码,如果index不在0和str.length-1之间,那么返回NaN ;
3 str.indexOf(searchvalue,fromindex) : 返回被检索字符串第一次出现的位置值,如果找不到返回 -1,注意对大小写敏感
stringObject 中的字符位置是从 0 开始的。
|
|
正则 str.search(refexp) 不执行全局匹配,返回被检索字符第一次出现的位置值 如果找不到,返回-1 ;
4 str.slice(start,end) 不改变原字符串,返回一个新的字符串 ,包括起始位置,不包括end位置,end省略则直到字符串末尾;-1表示最后一个字符;和substr(start,end) substring(start,stop)效果类似
注意索引值从0 开始 包括起始位置字符,不包括结尾的字符
|
|
5 str.split(seperate,howmany) : 不改变原字符串,返回一个数组 ,该数组中保存了被分割的字符串,howmany设置数组中的元素的个数;
|
|
6 str.concat(str1,str2····) : 不改变原字符串,返回一个新的字符串;
7 正则 str.match(value) str.match(regexp) 不改变原来的字符串,找到匹配则返回匹配的数组 ,找不到匹配则返回null
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。
如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。
如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。
注意:在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。 如果需要这些全局检索的信息,可以使用 RegExp.exec()。
|
|
8 正则 str.replace(str/regexp , replacement | function) ; 不改变原字符串,返回一个新的字符串;
8.1 如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
|
|
|
|
8.2 $ 1,2,3,4……99 表示与正则表达式第1 到99个子表达式相匹配的文本;子表达式是用( )括起来的那部分
|
|
8.4 如果replace第二个参数没有传递,那么默认传入undefined
|
|
9 str.trim( ) 方法可以用来去掉字符串中的前面和后面的空格,底层实现
|
|
记住,String 对象的所有属性和方法都可应用于 String 原始值上,因为它们是伪对象。