字符串方法帮助您处理字符串。
字符串的方法和属性
原始值,比如"John Doe" ,不能有属性或方法(因为它们不是对象)。
但是,使用JavaScript,方法和属性也可用于基本的价值观,因为JavaScript的执行方法和属性时,把原始的值对象。
字符串长度
该length属性返回一个字符串的长度:
在String查找字符串
该indexOf()方法返回一个字符串指定的文本中第一次出现(的位置)的指标:
该lastIndexOf()方法返回一个字符串指定的文本中最后一次出现的索引:
两者indexOf()和lastIndexOf()方法返回-1,如果没有找到该文本。
JavaScript的计算从零位。
0是字符串中的第一个位置,1是第二,2是第三...
两种方法都接受的第二参数作为用于搜索的起始位置。
搜索一个字符串的字符串
该search()方法搜索指定值的字符串,并返回匹配的位置:
你注意到了吗?
这两种方法, indexOf()和search()都是平等的。
他们接受相同的参数(参数),以及它们返回相同的值。
这两种方法都是平等的,但search()方法可以采取更加强大的搜索值。
您将了解有关正则表达式的章节中强大的搜索值。
提取部分字符串
有3种方法,用于提取字符串的一部分:
- slice(start, end)
- substring(start, end)
- substr(start, length)
该slice()方法
slice()中提取的字符串的一部分,并返回一个新的字符串所提取的一部分。
该方法需要两个参数:开始索引(位置),并结束索引(位置)。
这个例子切片一个字符串的位置,从7至13位的部分内容:
如果一个参数是负的,该位置是从字符串的末尾计数。
这个例子从切片从位置-12到位置-6一个字符串的一部分:
如果省略第二个参数,该方法将切出字符串的其余部分:
或者,从结尾开始计算:
负位置并不在Internet Explorer 8和更早的工作。
该substring()方法
substring()类似, slice()
所不同的是substring()不能接受负索引。
如果省略第二个参数, substring()将切出字符串的其余部分。
在substr()方法
substr()类似, slice()
不同的是,第二个参数指定的length所提取的部分的。
如果第一个参数是负的,该位置从字符串的结束计数。
第二个参数不能为负,因为它定义的长度。
如果省略第二个参数, substr()将切出字符串的其余部分。
更换字符串内容
该replace()方法替换字符串中的另一个值指定值:
该replace()方法也可以接受正则表达式作为搜索值。
默认情况下, replace()函数只替换第一个匹配。 要替换所有的匹配,请使用AG标志正则表达式(全局匹配):
该replace()方法不会改变它呼吁字符串。 它返回一个新字符串。
转换为大写和小写
一个字符串转换为大写与toUpperCase()
例
var text1 = "Hello World!"; // String
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
试一试» 一个字符串转换为小写与toLowerCase()
例
var text1 = "Hello World!"; // String
var text2 = text1.toLowerCase(); // text2 is text1
converted to lower
试一试» 该concat()方法
concat()连接两个或多个字符串:
所述concat()方法可用于代替加算子。 这两行做同样的:
例
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");
所有的字符串方法返回一个新的字符串。 他们不修改原始字符串。
形式上说:字符串是不可变的:字符串不能更改,只能更换。
提取串字符
有2个用于提取字符串中的字符安全的方法:
- charAt(position)
- charCodeAt(position)
该charAt()方法
该charAt()方法返回一个字符串指定索引(位置)处的字符:
该charCodeAt()方法
该charCodeAt()方法返回一个字符串指定索引处的字符的Unicode:
访问字符串作为数组是不安全
你可能已经看到了这样的代码,访问字符串数组:
var str = "HELLO WORLD";
str[0]; // returns H
这是不安全的和不可预知的:
- 它不会在所有的浏览器(而不是在IE5,IE6,IE7)
- 它使串看起来像阵列(但他们不是)
- str[0] = "H"并没有给出错误(但不工作)
如果你想读一个字符串数组,先将其转换为一个数组。
将字符串转换成数组
一个字符串可以被转换成与数组split()方法:
例
var txt = "a,b,c,d,e"; // String
txt.split(","); // Split on commas
txt.split(" "); // Split on spaces
txt.split("|"); // Split on pipe
试一试» 如果省略分隔符,返回的数组将包含在指数[0]整个字符串。
如果分隔符为“”,返回的数组将是单个字符数组:
完整的字符串参考
对于一个完整的参考,请访问我们完整的JavaScript字符串引用 。
引用包含所有的字符串属性和方法的说明和示例。