JS操做字符串

问题:

字符串:“abaasdffggghhjjkkgfddsssss3444343”
(1)字符串的长度
(2)取出指定位置的字符,如:0,3,5,9等
(3)查找指定字符是否在以上字符串中存在,如:i,c ,b等
(4) 替换指定的字符,如:g替换为22,ss替换为b等操做方法
(5)截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
(6)找出以上字符串中出现次数最多的字符和出现的次数
(7) 遍历字符串,并将遍历出的字符两头添加符号“@”javascript

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			
			/* 4.字符串操做 字符串:“abaasdffggghhjjkkgfddsssss3444343”,问题以下: (1)字符串的长度 (2)取出指定位置的字符,如:0,3,5,9等 (3)查找指定字符是否在以上字符串中存在,如:i,c ,b等 (4) 替换指定的字符,如:g替换为22,ss替换为b等操做方法 (5)截取指定开始位置到结束位置的字符串,如:取得1-5的字符串 (6)找出以上字符串中出现次数最多的字符和出现的次数 (7) 遍历字符串,并将遍历出的字符两头添加符号“@” */
			var str = "abaasdffggghhjjkkgfddsssss3444343";
			document.write("字符串:" + str + "<br>");
			//1
			document.write("字符串长度:" + str.length + "<br>");
			//2
			document.write("0号字符:" + str.charAt(0) + "<br>");
			//3
			var index = str.indexOf('b'); //不存在会返回-1
			if(index == -1) {
				document.write("b不存在!" + "<br>");
			} else {
				document.write("b存在!" + "<br>");
			}
			//4
			while(str.indexOf('g') != -1) {
				var str = str.replace('g',22); //replace方法只能替换一次
			}
			document.write("替换后的字符串为:" + str + "<br>");
			//5. 
			document.write("字符串1-5为:" + str.substring(1,6) + "<br>");
			//6
			var o = []; //建立空数组
			for (var i = 0; i < str.length; i++) {
				var chars = str.charAt(i); //i=0时,chars为a
				if(o[chars]) { //o数组chars属性是否存在
					o[chars]++; //存在了,则累加
				} else { //不存在,存进库中,初始值为1
					o[chars] = 1; 
				}
			}
			var max = 0;
			var c = '';
			for(var k in o) { //forin循环,k为属性,o[k]为对应属性的值
				if(max < o[k]) {
					max = o[k];
					c = k;
				}
			}
			document.write("最大值:" + max + "<br>");
			document.write("出现最多的字符为:" + c + "<br>");
			//7.
			var strArray = str.split(''); //分割字符串
			var newStr = ''; //建立空字符串
			for (var i = 0; i < strArray.length; i++) {
				var newChar = '@' + strArray[i] + '@';
				newStr += newChar; //字符串拼接
			}
			document.write("处理后的字符串为:" + newStr + "<br>");
		</script>
	</head>
	<body>
	</body>
</html>

运行结果:

字符串:abaasdffggghhjjkkgfddsssss3444343
字符串长度:33
0号字符:a
b存在!
替换后的字符串为:abaasdff222222hhjjkk22fddsssss3444343
字符串1-5为:baasd
最大值:8
出现最多的字符为:2
处理后的字符串为:@a@@b@@a@@a@@s@@d@@f@@f@@2@@2@@2@@2@@2@@2@@h@@h@@j@@j@@k@@k@@2@@2@@f@@d@@d@@s@@s@@s@@s@@s@@3@@4@@4@@4@@3@@4@@3@