字符串查找、截取类及常用方法

602 阅读5分钟

1、查找方法charAt(查找当前下标位置的字符)

var str="haohaoxuexi" console.log(str[1]) 通过str[index] 这样的方式取值,有兼容问题的,IE8以下是无法使用的,正确方法如下 console.log(str.charAt(2))//输出o

str.charAt(index)
  - index:字符串的索引值(下标),可不填,默认为0
  - 如果超出str.length,或者小于0,则返回一个空字符串

2、查找字符串方法charCodeAt(查找当前下标位置的字符编码)

var srt="好好学习" console.log(srt.charCodeAt(0));//输出22909

str.charCodeAt(index) 用于获取当前字符串的unicode编码
  - index :字符串的索引值(下标),如果不给,默认为0
  - 如果下标不存在的值,那么会返回给你一个NaN
  - 如果比较字符串,比较的是Unicode编码的大小

3、查找方法fromCharCode(将 Unicode 编码转换为一个字符串:)

var u=20013; console.log(String.fromCharCode(u))//输出“中”

4、查找方法indexOf(查找str中是否有对应的字符串)

var str = "haohaoxuexi"; console.log(str.indexOf('h', 2));//输出3

str.indexOf(searchValue[,fromIndex])
  用于查找str中是否有对应的字符串,如果有,返回该字符串第一次出现时候对应的索引值
  -searchValue 当前想要查找的值
  如果说,查找的值,不存在,返回一个-1!!
  fromIndex -这个值是一个可选值,不填默认为0
  如果输入的值小于0,会当做0进行处理
  如果说超出了索引值的范围,这时候会返回

5、查找方法lastIndexOf(从后往前查找str中是否有对应的字符串)

var str = "haohaoxuexi"; console.log(str.lastIndexOf('x'));//输出9

lastIndexOf
    - searchValue
        需要查找的字符串
    - formIndex
        起始搜索的位置(从后往前),如果不给,默认为str.length
        如果超过str.length,则为str.length
        如果小于0,则默认为0

        如果说找不到指定的值,则返回-1;
        用于返回查找指定值对应的最后一个索引索引,从后往前搜索
        

6、字符串截取slice(可以截取字符,并返回这个新的字符)

var str = "好好学习"; var str2 = str.slice(1,5); console.log(str); console.log(str2);//输出“好好学”

slice(begin[,end]) - 可以截取字符,并返回这个新的字符
- begin 指的是截取的起始位置(截取的位置包含begin,但是不包含end的索引)    
如果说负数超过了一定的值(length),默认就从0开始
- end:可选参数,不填默认到该字符串结尾部分
begin 和 end 是一致的,则会返回空字符串
如果说end大于begin,则会返回空字符串
该方法,并不会影响原来的字符串,而是返回一个新的字符串

7、字符串方法substr(可以截取字符,并返回这个新的字符)

var str = "好好学习"; var str2 = str.substr(1,5); console.log(str2);

substr(start[,length]) - 
- 截取从start位置开始的字符,返回的也是新的字符串,并不会改变原有字符串
参数
start :截取的起始位置,可以是负数,如果说是负数(如果起始位置的值太大,则默认为0),则,从右到左边
length + (start)
length : 截取字符的个数,如果不填,默认为到该字符串结尾的位置
如果超出了length,则默认为到字符串结尾的位置
如果个数是一个负数,则返回空字符串

8、字符串方法substring (截取两个索引值之间的字符串)

var str = "好好学习"; var str2 = str.substring(0, 3) console.log(str2);//输出好好学

substring(begin[,end])
截取两个索引值之间的字符串,并且作为一个新的字符串进行返回(包含begin,但是不包含end)
参数:
- begin
如果说小于0,则会当做0进行处理
- end
可选,默认为到该字符串结尾
如果说这个值,大于length,则会当做length进行处理
begin包含在截取的内容里面,但是end不包含
如果说end大于beginend就会作为beginbegin就会作为end
如果beginend是一致的,则会得到一个空字符串

9、字符串方法split (以指定字符分割字符串,返回一个新数组)

var str = "好-好-学-习"; console.log(str.split("-"));//返回 ["好", "好", "学", "习"]

split(separator[,num])
- separator 决定分隔的字符,该字符的位置会作为分隔点,并且自己是并不在当前数组内的
   如果是"",可以把每一个字符都分隔开来
   如果分隔的字符处在字符串的首尾,则会有一个空字符串
- num 可选,决定分隔的数组中的个数
   如果说给的值,超过了length,分隔也只会以当前字符串的最大分隔为标准

10、字符串方法concat (拼接字符串)

var str1 = "好"; var str2 = "学"; var str3 = "习"; console.log(str1);
console.log(str1.concat(str2,str3));//输出“好学习”

返回的是一个新的字符串,并不会改变原有的字符串
参数可以是多个字符串,以逗号进行间隔
+= 的性能比用 concat 要更好

11、字符串方法toLowerCase()和toUpperCase (转换大小写)

var str1 = "A"; var str2 = "a"; console.log(str1.toLowerCase());//输出a console.log(str2.toUpperCase());//输出A

toLowerCase() - 把字符串转成小写
toUpperCase() - 把字符串转成大写
这两个返回的都是一个新字符串,并不会影响原有的字符串

12、字符串方法trim (去除字符串的头尾空格)

var str = " 好 好 学习 "; console.log(str.trim());

trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
trim() 方法不会改变原始字符串。
trim() 方法不适用于 null, undefined, Number 类型。