JavaScript的内置功能之一就是字符串连接。如果将加号(+)运算符用于数字,表示两数相加。当将它作用于字符串,则表示字符串连接,将第二个字符串拼接在第一个之后,例如:
msg = "Hello, " + "world"; // 生成字符串 "Hello, world"
greeting = "Welcome to my blog," + " " + name;
要确定一个字符串的长度——其所包含的16位值的个数——可以使用字符串的length属性。比如,要得到字符串s的长度:
s.length
除了length属性,字符串还提供许多可以调用的方法:
var s = "hello, world" // 定义一个字符串
s.charAt(0) // => "h": 第一个字符
s.charAt(s.length-1) // => "d": 最后一个字符
s.substring(1,4) // => "ell": 第2~4个字符
s.slice(1,4) // => "ell": 同上
s.slice(-3) // => "rld": 最后三个字符
s.indexOf("l") // => 2: 字符l首次出现的位置
s.lastIndexOf("1") // => 10: 字符l最后一次出现的位置
s.split(", ") // => ["hello", "world"] 分割成子串
s.replace("h", "H") // => "Hello, world": 全文字符替换
s.toUpperCase() // => "HELLO, WORLD"
记住,在JavaScript中字符串是固定不变的,类似replace()和toUpperCase()方法都返回新字符串,原字符串本书并没有发生变化。
在ECMAScript 5中,字符串可以当做只读数组,除了使用charAt()方法,也可以使用方括号来访问字符串中的单个字符(16位值):
s = "hello, world";
s[0] // => "h"
s[s.length-1] // => "d"
String对象常用属性
- length:该字符串中的字符数
String对象常用方法
- charAt():取出一个字符串中指定位置的字符
- substring(): 提取字符串的一个子串
- slice():返回字符串的一个切片或子串
- indexOf():在指定字符串中寻找一个字符或子串
- lastIndexOf(): 在指定字符串中向后寻找一个字符或字符串
- split():在指定的分隔符字符串或正则表达式处断开,将一个字符串分割为由字符串组成的数组。
- replace():使用正则表达式执行查找与替换操作
- toUpperCase(): 返回指定字符串的一份副本,其中所有的字符都已转化成大写。
- concat():将一个或多个值连接成一个字符串
- match():使用正则表达式执行模糊匹配
- search():在一个字符串中查找匹配某个正则表达式的子串