下面的stirng對象變量都縮寫成str
四個方法search,split,replace, match
詳細(xì)解說
search用法:str.search("子串")
如果str中存在子串,則返回子串開頭字符在str中的索引(即位置,當(dāng)然是0或者正數(shù)),若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,認(rèn)真看一下會發(fā)現(xiàn)數(shù)字與逗號間也有空格
文章中有這句話:Using split() with a regular expression argument (rather than a string argument) allows you the flexibility of ignoring multiple whitespace or delimiter characters.
我這里明顯用的是普通字符串參數(shù),下面用的是正則式參數(shù)
"10 / 3 / / 4 / 7 / 9".split(/[ \/]+/);
返回的是:10,3,4,7,9,注意這個串與上面串在空格的不同,數(shù)字與逗號間沒有空格,這就是所謂的忽略空格
replace用法:str.replace("匹配子串","替換匹配子串的串")
如果匹配子串在原串中找不到,將不進行替換,返回是原串,若能找到匹配子串,則返回替換后的串
例如:var s = "Hello. Regexps are fun.";s = s.replace(".", "!");
嘆號將代替第一個點號然后返回串,這是此函數(shù)特點,只替換第一處匹配的地方,如果要替換每處匹配的地方,需要用到正則式,正則式的作用很大,但是我只會皮毛,在此不舉例。
match用法:str.match("匹配子串")
若沒有匹配子串,則返回空,若存在匹配子串,則返回子串