js中的split与replace与replaceAll

  • 2021年10月29日
  • Html/Css

<html>
<head>
	<title>js之split与replace测试</title>
</head>
<body>
	<script type="text/javascript">
		var str1 = "1-2-3-4-5";
		var str2 = "1*2*3*4*5";
		var str3 = "1[2[3[4[5";
		var str4 = "1/2/3/4/5";
		var str5 = "12345";
		var str6 = "1^2^3^4^5";
		var str7 = "1'2'3'4'5";
		var str8 = "1.2.3.4.5";
		var str9 = "1,2,3,4,5";
		var str10 = "123-223-323-423-523";
		
		//特殊字符分割,java里面的特殊字符除了【反斜杠】,js都可直接进行分割
		//空白字符串则会将每个字符进行切割
		document.write(str1.split("") + "<br />");		//空字符串分割,输出结果:1,-,2,-,3,-,4,-,5
		document.write(str1.split(",") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str2.split("*") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str3.split("[") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str4.split("/") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str5.split("\") + "<br />");	//输出结果:1 (乱码)
		document.write(str6.split("^") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str7.split("'") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str8.split(".") + "<br />");		//输出结果:1,2,3,4,5
		document.write(str9.split("") + "<br />");		//输出结果:1,,,2,,,3,,,4,,,5(神奇的表象,实际是逗号也是个字符)
		document.write(str10.split("-", 3) + "<br />");	//输出结果:123,223,323(截取后返回截取的数组元素个数)
		
		//替换replace,replaceAll
		document.write(str10.replace("-", "ZZZ") + "<br />");	//输出结果:123ZZZ223-323-423-523(仅替换第一个匹配到的字符)
		document.write(str10.replace(/-/g, "ZZZ") + "<br />");	//输出结果:123ZZZ223ZZZ323ZZZ423ZZZ523(正则全局替换,不能加双引号)
		
		//js不像java中有字符串替换的replaceAll,
		//但jQuery中存在对dom对象操作的replaceAll(),不能用于字符串的处理
		//如: $("<b>Hello world!</b>").replaceAll("p");
	</script>
</body>
</html>

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注