给定一个字符串,如:“abaasdffggghhjjkkgfddsssss3444343”,问题如下:
1、字符串的长度
2、取出指定位置的字符,如:0,3,5,9等
3、查找指定字符是否在以上字符串中存在,如:i,c,b等
4、替换指定的字符,如:g 替换为 22,ss替换为 b 等操作方法
5、截取指定开始位置到结束位置的字符串,如:取得 1-5 的字符串
6、找出以上字符串中出现次数最多的字符和出现的次数
<script>
// 首先定义字符串
var str = 'abaasdffggghhjjkkgfddsssss3444343';
// 1、字符串的长度
console.log('字符串长度为' + str.length); // 33
// 2、取出指定位置的字符
// 方法1:
console.log('位置0,3,5,9的字符分别是:' + str.charAt('0'), str.charAt('3'), str.charAt('5'), str.charAt('9'));
// 方法2:
var c1 = prompt('请输入指定位置:');
console.log(str.charAt(c1));
// 3、查找指定字符是否在以上字符串中存在
var index = prompt('请输入需要查找是否存在的字符:');
if (str.indexOf('index') !== -1) {
console.log('该字符串中不存在' + index);
} else {
console.log('该字符串中存在' + index);
}
// 4、替换指定的字符,如:g 替换为 22,ss替换为 b 等操作方法
var x1 = prompt('请输入需要替换的字符:');
var x2 = prompt('请输入想要替换成什么字符:');
while (str.indexOf(x1) !== -1) {
str = str.replace(x1,x2);
}
console.log(str);
// 5、截取指定开始位置到结束位置的字符串,如:取得 1-5 的字符串
var s1 = prompt('请输入需要截取的起始位置:');
var s2 = prompt('请输入截取的结束位置:');
console.log(( s1 + '到' + s2 + '之间的字符为:' + str.slice(s1, s2)));
alert( s1 + '到' + s2 + '之间的字符为:' + str.slice(s1, s2));
// 6、找出以上字符串中出现次数最多的字符和出现的次数
var o = {}; // 定义对象
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i); // chars 是字符串的每一个字符
if (o[chars]) { // o[chars] 得到的是属性值
o[chars]++;
} else {
o[chars] = 1;
}
}
console.log('每个字符出现的次数分别是:' + o);
// 遍历对象
var max = 0;
var ch = '';
for (var k in o) {
// k得到的是 属性名
// o[k] 得到的是属性值
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log('出现次数最多的字符是:' + ch + ';一共出现了:' + max);
</script>