今天来写写关于对字符串操作的常用的方法。
indexOf();
lastIndexOf();
这两个方法的用法和前面数组的用法相同,这里不就在啰嗦了。
string.charAt(下标);
返回下标对应的位置上的字符
string.charCodeAt(下标);
输出对应位置的字符的ascll码值 A—65 a----97
实例1:
var str = 'hello';
var index = str.charAt(0);//返回对应位置上的字符
console.log(index);
for(i = 0;i<=str.length;i++){
console.log(str.charAt(i));//结果是将字符一个一个的打印出来了
console.log(str.charCodeAt(i));//下标对应位置的字符的ascll码
}
string.concat();
拼接字符串,组成新的字符串,不改变源字符串
实例:
var str = 'hello';
var str02 = str.concat(',world','!');
console.log(str02);//hello,world!
substr(start,长度);
截取位置从start下标位置开始截取,截取多少个长度
长度:可以省略,表示一直截取到最后
实例2: 截取?后面的所有内容 不包含?
var urls = 'http://www.baidu.com?username=admin&psw=123456';
var idx = urls.indexOf('?');//获取?首次出现的位置,
var res = urls.substr(idx+1); //从?位置的后面开始截取 不需要问号
console.log(res);//username=admin&psw=123456
.slice(start,end);
截取:从start位置开始,到end的下标位置-1 的位置结束,不包含end的下标。
var res02 = urls.slice(idx+1,urls.length);//
console.log(res02);
.substring(from,to)
用于提取字符串中介于两个指定下标之间的字符。
包括 开始 处的字符,但不包括 结束 处的字符。
自行判断从小的位置开始截取到下标位置大的位置之前
实例 3
var res03 = urls.substring(0,idx);
console.log(res03);//http://www.baidu.com 不包含结束位置
//动判断这两个下标的位置,下标位置靠前的为第一个参数,靠后的下标为第二个参数
var res04 = urls.substring(idx,7);//www.baidu.com,
console.log(res04);
.replace(val,newVal);
替换:用另一个只替换在字符串中指定的值。不会改变调用它的字符串。它返回的是新字符串。
.replace();方法对大小写敏感
实例 4:
var str05 = "Please visit Microsoft!";
var res05 = str05.replace('Microsoft','baidu.com');
console.log(res05);//Please visit baidu.com!
对大小写敏感 因此不对匹配 microsoft
var res05A = str05.replace('microsoft','baidu.com');
console.log(res05A);//Please visit Microsoft!
替换时不需要对大小写不敏感,请使用正则表达式 /i(大小写不敏感):
var res05B = str05.replace(/MICROSOFT/i,'大小写不敏感,请使用正则表达式 /i');
console.log(res05B);//Please visit 大小写不敏感,请使用正则表达式 /i!
替换所有指定的字符值,请使用正则表达式的 g 标志 ,
var str06 = 'Please visit Microsoft and Microsoft ';
var res06 = str06.replace(/Microsoft/g,'替换所有的指定字符');
console.log(res06);
当然 没有学过正表达式的朋友 也可利用循环来逐个替换
实例:
var idx02 = str06.indexOf('Microsoft');
while(idx02 !==-1){
str06 = str06.replace('Microsoft','hello');
idx02 = str06.indexOf('Microsoft');
}
console.log(str06);//Please visit hello and hello
.split(); 将字符串分割成数组
参数:指定分割符
实例 5: 利用上面实例 2 res的结果进行分割
//var res = urls.substr(idx+1); username=admin&psw=123456
//需要取出 admin 和 13456,
var arr = res.split('&');
console.log(arr);//["username=admin", "psw=123456"]
var username = arr[0].split("=")[1];//arr[0]进行分割为两个值["username","admin"] 取[1]的值
var userpsw = arr[1].split("=")[1];
console.log(username,userpsw);//admin 123456
这一章就先写到这里啦,欢迎大家多多提意见。如有错误请留言,我会及时改正。