JS:字符串

字符串:由单引号或双引号引起的一组字符序列

1、字符串字符

  • charAt(n):位置n上的字符
  • charCodeAt(n) :位置n上字符的unicode编码 ‘a’-97 ‘A’-65 ‘0’-48
  • String.fromCharCode(65):数字对应的字符
var str = "hello";
var char = str.charAt(0);//h
var char_num = str.charCodeAt(1);//e对应的Unicode编码102
var res = String.fromCharCode(65)//A

2、字符串位置

  • indexOf(“字符”) :从字符串左到右,查找符合字符第一个出现的为hi,找到则返回位置,找不到返回-1
  • lastIndexOf(“字符”) :功能同上,区别从后往前查找符合字符
var str = "how do you do?";
var index = str.indexOf("o");//1  第一次出现元素的位置
var lastIndex = str.lastIndexOf("o");//12  最后一次出现元素的位置
var index_error = str.indexOf("z");//-1
var indexF = str.indexOf("o",2);//从第二个位置开始找字符在字符串中的位置

3、字符串切分

  • substr(num) :表示从字符串位置num截取到最后,原字符串不变
  • substr(num,length) :表示从字符串位置num截取length长度的字符串
  • substring(num) :表示从字符串位置num截取到最后,原字符串不变;等同于substr(num)
  • substring(from,to) :表示从字符串位置from开始,截取到位置to,不包含位置to
  • slice(from,to) :表示从字符串位置from开始,截取到位置to,不包含位置to;等同于substring(from,to)
var str = "welcome to china";
var res = str.substr(2);//lcome to china
var res = str.substr(2,3);//lco
var res = str.substring(2);//lcome to china
var res = str.substring(2,6);//lcom
var res = str.slice(-2);//na

4、字符串<=>数组

字符串分割:split 将字符串分割成字符串数组;join将字符串数组拼接成字符串

var str = "My name is along";
var res = str.split(" ");//["My","name","is","along"]
var arr = ["My","name","is","along"];
var res_str = arr.join(" ");//将字符串数组拼成字符串

5、字符串大小写

  • toLowerCase() :字符串转小写
  • toUpperCase() :字符串转大写
var str = "abbgHGLERE";
str = str.toLowerCase();//abbghglere
str = str.toUpperCasee();//ABBGHGLERE

6、字符串替换

  • replace :字符串第一次出现位置的替换
var str = "你好 nnd 祝你快乐  nnd 再见";
var newStr = str.replace("nnd","@");//你好 @ 祝你快乐  nnd 再见
//全局替换    截取位置替换
newStr = str.split("nnd").join("@");//你好 @ 祝你快乐  @ 再见

7、字符串反转

字符串反转:采用数组reverse反转转化

//"lmnopq"------>"qponml"
var str = "lmnopq";
var arr = str.split("");
var res = arr.reverse().join("");

8、字符串小练习

1、解析网址字符串uname和psw

var url = "http://www.baidu.com?uname=zs&psw=123456"; 
var arr = url.split("?");
arr = arr[1].split("&");
var uname = arr[0].split("=")[1];
var psw = arr[1].split("=")[1];

2、统计字符串大写字符,小写字符,数字,其他的个数

var str = "ADSAsarasr23432@#*$";
var small = 0, big = 0, num = 0, others = 0;
for (var i=0,len=str.length; i<len; i++) {
    if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
        small++;
    }
    else if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
        big++;
    }
    else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
        num++;
    }
    else {
       others++;
    }
}

3、字符串中每个符号出现的次数

var str = 'afajriw432409dFDSR*&$)@';
//统计str中出现每一个字符(32~127)的次数
getCharCount(str);
function getCharCount(str) {
    for(var code=32; code<=127; code++){
        var ch = String.fromCharCode(code);
        var count = 0;
        for (var i=0,len=str.length; i<len; i++){
            if (str.charAt(i) == ch) {
                count++;
            }
        }
		if (count > 0) {
            console.log("字符"+ch+"出现的次数"+count);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值