javascript字符串对象7.0
10、字符串
字符串的属性:str.length ==>字符串的长度
字符串操作方法
var str = "1234567890afgqaewqrweqrwq";
(1)、把字符串中的小写子母转变成大写
var nstr = str.toUpperCase();
// 1234567890AFGQAEWQRWEQRWQ document.write(nstr);
(2)、把字符串中的大写子母转变成小写
var str1 = nstr.toLowerCase();
//1234567890afgqaewqrweqrwq
document.write(str1);
(3)、取字符串中,对应的下标的字符
var ch = str.charAt(2);
//3 document.write(ch);
(4)、取字符串中,对应的下标的字符编码
var chCode = str.charCodeAt(2);
//51
document.write(chCode);
(5)、将字符编码转换成字符
var c = String.fromCharCode(71);
//G document.write(c);
(6)、字符串查找
//变量名.indexOf("查找的内容");如果找到匹配的内容,返回第一次出现的下标,否则返回-1; var index = str.indexOf("45");
//3 document.write(index);
//如果找到匹配的内容,返回最后一次出现的下标,否则返回-1 var index1 = str.lastIndexOf("qr"); //21 document.write(index1);
(7)、字符串的截取
var ss = "dasdfa23423dfsu";
语法:ss.substring("开始位置", "结束位置");
var ts = ss.substring(1, 3); //as alert(ts);
注意:ss.substring("开始位置"),会从开始位置,截取剩余的所有字符。
语法:ss.substr("开始位置", "截取长度");
var ts1 = ss.substr(3, 5);
//dfa23 alert(ts1);
练习10-1:给定字符串,获取字符串中的数字。
var str = "w34r384hugw949843hg37rdfhasi723hhiay29"; //获取字符串中的数字:for + arr var arr = []; //定义空串放置筛选出来的数字 var tempStr = ""; //对字符串中的每个字符进行遍历 for(var i=0; i<str.length; i++) { if(str.charCodeAt(i) >= 48 && str.charCodeAt(i)<=57) { tempStr += str[i]; }else { if(tempStr.length>0) { //在没截取完数字串后会放入新的数组 arr.push(tempStr); //这里当遇到非数字的字符时,就将串置为空 tempStr = ""; } } } //将结尾的数字串输出 因为结尾没有非数字让else语句执行了 if(tempStr.lengt >0) { arr.push(tempStr); tempStr = ""; } //34,384,949843,37,723,29 document.write(arr.toString());
练习10-1:给定任意字符串,统计字符串中,每个字符以及每个字符出现的次数
方法一
var str = "adddddjcjjjcdsssdccc"; var Char = []; var count = 0;
document.write(str);
document.write("<br>"); while(str!="") { //获取第一个字符 var fchar = str[0]; //创建正则表达式对象 var reg = new RegExp(fchar, "g"); //替换字符串中,符合的字符 将该符合匹配的字符都换成空值 则字符串长度就会减少 var res = str.replace(reg, ""); //剩余的长度就是第一个字符的个数 var len = str.length - res.length; Char.push(fchar); count = len; document.write("字符" + Char.toString() + "出现的次数:" + count); document.write("<br>"); //把替换后的字符串,赋值给str1这个变量 str = res; }
方法二 var str1="aaaaabbbbbccdddeee"; var result = []; while(str1!="") { //获取第一个字符 var fchar = str1[0]; //创建正则表达式对象 var reg = new RegExp(fchar, "g"); //替换字符串中,符合的字符 var res = str1.replace(reg, ""); //第一个字符在原字符串中出现的次数 字符串被空格替换后长度变短 var len = str1.length - res.length; var obj = {}; obj.ch = fchar; obj.count = len; result.push(obj); //把替换后的字符串,赋值给str1这个变量 str1 = res; } for (var i=0; i<result.length; i++) { document.write(result[i].ch + ":" + result[i].count + "次"); document.write("<br>"); }