字符串也像数组一样,有数字索引,可以通过响应的索引获取对应的字符。

  • 获取字符串的长度:str.length;
  • 获取第一个字符:str[0]
  • 获取最后一个字符:str[str.length-1];

1、charAt

  • 作用:获取相应位置对应的字符
  • 参数:索引
  • 返回值:返回对应的字符
var str="zhufeng";
var res=str.charAt(0); ==>"z"

如果写的索引超出字符串的长度,str[索引]和charAt的区别

var str="zhufeng";
srt[100]===>undefined
var res=str.charAt(100);===> ""

2、charCodeAt

  • 作用:获取对应的ascll码值(用汉语来说就是阿斯科马值)
  • 参数:索引
  • 返回值:对应的ascll码十进制对应值
  • 至于ascll码值大家可以百度一下
var str="zhufeng";

var res=str.charCodeAt(0);==> 122  对应的就是z

3、indexOf

  • 作用:获取特定字符在字符串中首次出现的索引
  • 参数:特定字符
  • 返回值:如果包含就是具体出现的索引,如果不包含返回值就是-1

4、lastIndexOf

  • 和上面的一样,只是这个是特定字符在字符串中最后出现的索引
var str="zhufengu";
var res1=str.indexOf("z");===>0
var res2=str.indexOf("w");===>-1
var res=str.lastIndexOf("u");===>7

5、slice

  • 作用:查找字符串中特定的位置的字符
  • 参数:(n,m)n:起始索引(包含),m:结束索引(不包含)
  • 返回值:查找的字符
  • 从索引n(包括)开始查找到索引m(不包含)结束的字符
  • 如果只写n不写m就是查找到最后一项
  • 如果不写n只写一个0,或者不写就是复制一份
  • 也可以为负数,转换成正数的规律:str.length+负的索引值
var str="zhufengpeixun"

str.slice(1,3)       ===>"hu"

str.slice(0)      ===>复制一份
str.slice()       ===>复制一份 


var res=str.slice(-3,-1);   ===>“xu”

6、substring(n,m)

substring和slice基本都一样,唯一不同在于,substring不支持索引负数,而slice支持。

7、substr(n,m)

  • 作用:从索引n开始截取m个字符
  • 参数:n,m
  • 返回值:截取的字符串
  • 也支持从负索引开始
var str="zhufengu";

var res=str.substr(-3,2);  ====>"ng"

8、toUpperCase()

  • toUpperCase():把字符串转换为大写

9、toLowerCase()

  • toLowerCase():把字符串转换为小写

10、replace()

  • 作用:把字符串中某部分的字符替换成另一部分字符
  • 参数:(str1,str2)第一个参数代表的是要替换的字符或者是正则(什么是正则呢,本人会在后面单独出一篇文章来介绍正则),第二个参数代表的是替换的字符
  • 返回值:替换后的字符串
var str="zhufeng2018zhufeng2019zhufeng";

var res=str.replace("zhufeng","珠峰");   
//===>"珠峰2018zhufeng2019zhufeng"

var res=str.replace(/zhufeng/g,"珠峰");

console.log(res)===>"珠峰2018珠峰2019珠峰"

11、split()

  • 作用:按照指定的字符把字符串分割成数组
  • 参数:分隔符
  • 返回值:分割后的数组
var str="1-2-3";

 var res=str.split("-");
 
 console.log(res); ===>  ["1", "2", "3"]