回顾:
var num = str.length:字符个数
str = str.toLowerCase()/toUpperCase()
var char = str.charAt(index) :指定位置的字符
var code = str.charCodeAt(index):指定位置的字符的unicode编码
字符串三大操作:
1.查找关键字
2.替换关机子
3.获取子字符串
查找关键字:var index = str.indexOf("关键字");
返回关键字所在位置!****如果没找到 返回-1**
indexOf:懒:只找第一个关键字位置!
蠢:默认只能从位置0开始~
var index = str.indexOf("关键字",from);
from:开始查找的位置 从from开始向后查找,
<!DOCTYPE HTML><html lang="en-US"><head> <meta charset="UTF-8"> <title></title></head><body> <script type="text/javascript"> var str="女神说要来,我草草的收拾了房间。他又说不来了。我说:我草"; var index=-1; //从上次找到的位置开始 while((index=str.indexOf("我草",index+1))!=-1){ console.log("位置"+index+"发现关键字"); // 位置6发现关键字 位置26发现关键字 } </script></body></html>
从最后一个字符,向前找:只要关键字离结尾近 ,就用last
var index = str.lastIndexOf("关键字",from);
from:开始查找的位置 从from开始 向前查找
返回的Index完全相同~ 字符在数组中的下标是固定的!
2处修改:index从str.length开始;每次index要-1;
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var str="女神说要来,我草草的收拾了房间。他又说不来了。我说:我草"; var index=str.length; //从上次找到的位置开始 while((index=str.lastIndexOf("我草",index-1))!=-1){ console.log("位置"+index+"发现关键字") // 位置26发现关键字 位置6发现关键字 } </script> </body> </html>
2、获取子字符串:var subStr = str.slice(start,end); //含头不含尾 要在获取的最后一位再加1
str.substring(start,end+1) 用法同slice~
唯一差别:不支持负值作为参数!
str.substr(start,count)
以上三种方法省略第二个参数,默认都是取到结尾。
按规律分割字符串:var subs = str.split(“分割符”[,count]); //返回切割后的数组
实例:
把字符串中的首字母变大写:
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var str="no zuo no die"; var words=str.split(" "); console.log(words); //["no", "zuo", "no", "die"] for(var i=0; i<words.length; i++){ //取每个单词元素的首字母大写 //拼第二个字母之后的所有字符 words[i]=words[i][0].toUpperCase()+words[i].substring(1); } console.log(words); //["No", "Zuo", "No", "Die"] var newwords=words.join(" "); console.log(newwords); //No Zuo No Die </script> </body> </html>