案例1:查询字符串中出现某一元素的位置以及次数
var str='abcoefoxyozzopp'; var index=str.indexOf('o'); var num=0; while(index!=-1){ console.log(index); num++; index=str.indexOf('o',index+1); } console.log('次数:'+num);
根据位置返回字符:
1.charAt(index):返回指定位置的字符(index字符串的做引号)/str.charAt(0)
2.charCodeAt(index):获取指定位置处字符的ASCLL码(index索引号)/atr.charCode(0)
3.str[index]:获取指定位置处字符/HTML5,IE8+支持和charAt()等效
//根据位置返回字符 //1.charAt() var str='andy'; console.log(str.charAt(3)); //遍历 for(var i=0;i<str.length;i++){ console.log(str.charAt(i)); } //2.charCodeAt(index) 返回相应索引号的字符ASCALL码值 console.log(str.charCodeAt(0)); //3.str[index]H5新增的 console.log(str[0]);
案例:返回字符串里出现最多的字符以及次数
//案例:返回字符串里出现最多的字符以及次数 var str='abcoefoxyozzopp'; var ship={}; for(var i=0;i<str.length;i++){ var temp=str.charAt(i); if(ship[temp]){ ship[temp]++; }else{ ship[temp]=1; } } console.log(ship); //2。遍历对象 var max=0; var ch=''; for(var k in ship){ if(ship[k]>max){ max=ship[k]; ch=k; } } console.log(max); console.log('出现最多的字符:'+ch);
字符串操作方法:
1.concat('字符串1','字符串2'....)
2.substr('截取的起始位置','截取几个字符')
//1.concat var str='andy'; console.log(str.concat('dudu')); //2.substr('截取的起始位置','截取几个字符') var str1='清晨的第一缕阳光' console.log(str1.substr(6,2));
3.替换字符replace('被替换的字符','替换为的字符') 它只会替换第一个字符
var str='andyandy'; console.log(str.replace('a','b')); //案例:把一个字符串的某个元素替换为* var str1='abcoefoxyozzopp'; while(str1.indexOf('o')!=-1){ str1=str1.replace('o','*') } console.log(str1);
4.字符转换为数组 split(‘分隔符’)
console.log(str1); var str2='red,pink,blue'; console.log(str2.split(','));//["red", "pink", "blue"] var str3='red&pink&blue'; console.log(str3.split('&'));//["red", "pink", "blue"]