下面的stirng对象变量都缩写成str
四个方法search,split,replace, match
详细解说
search用法:str.search("子串")
如果str中存在子串,则返回子串开头字符在str中的索引(即位置,当然是0或者正数),若str中不存在匹配子串则返回-1
例如:"JavaScript regular expressions are powerful!".search("pow")返回的是35,因为pow在前面字符串的第35位置
split用法:str.split("分隔字符")
返回由str中由用户所定分隔字符的各字符串,字符串间由,号隔开
例如: "10 / 3 / / 4 / 7 / 9".split ("/"),返回的是10, 3,空格, 4, 7, 9,认真看一下会发现数字与逗号间也有空格
文章中有这句话:Using split() with a regular expression argument (rather than a string argument) allows you the flexibility of ignoring multiple whitespace or delimiter characters.
我这里明显用的是普通字符串参数,下面用的是正则式参数
"10 / 3 / / 4 / 7 / 9".split(/[ \/]+/);
返回的是:10,3,4,7,9,注意这个串与上面串在空格的不同,数字与逗号间没有空格,这就是所谓的忽略空格
replace用法:str.replace("匹配子串","替换匹配子串的串")
如果匹配子串在原串中找不到,将不进行替换,返回是原串,若能找到匹配子串,则返回替换后的串
例如:var s = "Hello. Regexps are fun.";s = s.replace(".", "!");
叹号将代替第一个点号然后返回串,这是此函数特点,只替换第一处匹配的地方,如果要替换每处匹配的地方,需要用到正则式,正则式的作用很大,但是我只会皮毛,在此不举例。
match用法:str.match("匹配子串")
若没有匹配子串,则返回空,若存在匹配子串,则返回子串