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>");
}

 

posted @ 2020-08-14 16:43  上天安排的最大嘛!  阅读(116)  评论(0编辑  收藏  举报