这节学习几个支持正则表达式的字符串的方法。链接

split
把字符串分割为字符串数组。
<script>
var s = "1a2b3c4d5e6f";
var result = s.split("c");
console.log(result);
console.log(s);
</script>

这里只能根据某个字符拆,如何做到根据任意字符拆分?
该方法可以传递一个正则表达式作为参数。
<script>
var s = "1a2b3c4d5E6f";
var result = s.split(/[a-z]|[A-Z]/);
console.log(result);
console.log(s);
</script>

search
检索与正则表达式相匹配的值。
返回第一次出现的索引,没有搜索到返回-1。
<script>
var s = "hello abc hello abc";
var result = s.search("abc");
console.log(result);
console.log(s);
</script>

这个也可以传递一个正则表达式作为参数。
<script>
// 搜索字符串中是否含有abc或aec或afc
var s = "hello abc hello abc";
var result = s.search(/a[bef]c/);
console.log(result);
console.log(s);
</script>

这个即使设置全局匹配也只会查第一个。
match
找到一个或多个正则表达式的匹配。
<script>
var s = "1a2b3c4d5e";
var result = s.match(/[a-z]|[A-Z]/);
console.log(result);
console.log(s);
</script>

这里只找了第一个字母,因为默认情况下是只找第一个符合正则表达式的。
可以设置为全局匹配模式。
<script>
var s = "1a2b3c4d5e";
var result = s.match(/[a-z]|[A-Z]/ig);
console.log(result);
console.log(s);
</script>

从结果可以看到,返回值是个数组。
replace
替换与正则表达式匹配的子串。
两个参数,第一个为被替换的内容,第一个为新的内容。
<script>
var s = "1a2ab3C4D5e";
var result = s.replace('a','A');
console.log(result);
console.log(s);
</script>

这里默认只替换了一个a。
用正则写。
<script>
var s = "1a2ab3C4D5e";
var result = s.replace(/a/g,'A');
console.log(result);
console.log(s);
</script>

本文介绍了JavaScript中字符串和正则表达式相关的几个方法:split用于分割字符串;search用于检索匹配项;match查找匹配项;replace用于替换字符串。文中通过实例展示了如何使用这些方法,并解释了如何利用正则表达式进行更复杂的文本处理。

5万+

被折叠的 条评论
为什么被折叠?



