小白JS学习笔记之字符串处理

字符方法:chatAt()和chatCodeAt()

chatAt()和chatCodeAt()都可以传入一个参数

chatAt(str):返回指定字符的位置

chatCodeAt(index):传入子字符的位置,返回子字符串的Unicode编码,用途:可以用来判断字符串中的字符是字母还是汉字

如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN

字符串还可以同构方括号来获取个别字符

举例:

var str ='absc';

console.log(str[1])//b


字符串的大小写转换

       var str ="adFAf";

     toUpperCase()转换成大写              str.toUpperCase()//ADFAF  

     toLowerCase()转换成小写               str.toLowerCase//adfaf

字符串的截取

 slice(value1,value2)

可传入两个参数,第一个参数(必填),截取的开始位置,第二个参数(选填,指定截取到的位置),如果没有,则截取到末尾


  举例:

var str="abcde":

var str.slice(2)//de

var str.slice(1,3)//bc  不包括停止截取位置的,即第三个3位置上的d(包含头部,不含尾部)


substring(value1,value2)

 第一个参数指定子字符串开始位置,第二个参数表示子字符串最后一个字符前面的位置

举例:

var str="abcde":

str.substring(1,3)//bc  不包括停止截取位置的,即第三个3位置上的d(包含头部,不含尾部)


substr(value1,value2):第一个参数指定子字符串开始位置第二个参数表示返回的字符个数

如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。这些方法也不会修改字符串本身,只是返回一个基本类型的字符串值

如果参数为负数

slice(1,-2)//负数加上字符串长度作为新值

substr(1,-1)  //返回空字符串

substring(3,-4)//            会将负数转为0,再将两个参数大的较大的那个放在前面,这个例子相当于substring(0,3)



字符串位置方法


indexof(str1,value2):str1传入子字符,从头开始搜索,返回子字符串的位置,

lastIndexof(str1,value2):str1传入子字符串,从尾部开始搜索

两个方法的第二个参数(选填)为开始搜索位置,不填则从头(尾部)开始搜索

用途:结合两个方法可判断子字符串是否唯一。


字符串的匹配方法

match():只接受一个参数,由字符串或RegExp对象指定的一个正则表达式    

和RegExp对象的exec()方法本质上相同

返回值为一个数组

举例:

var text = "cat,bat,sat,fat"


var pattern=/.at/g       //设置全局环境,获取所有匹配项,否则获取第一个匹配项


var matches=text.match(pattern);  

matches[0];

console.log(matches);//["cat", "bat", "sat", "fat"]

search():只接受一个参数,由字符串或RegExp对象指定的一个正则表达式

search():返回字符串中第一个匹配项的索引,如果没有匹配项,返回-1

举例:

var text = "cat,bat,sat,fat"

var pos = text.search(/at/):   设置全局环境与不设置,返回值一样

console.log(pos)//1


replace(),子字符串替换

接收两个参数,第一个参数可以是一个RexExp对象(正则表达式)or  字符串,第二个为用来替换掉原来字符的字符或者函数。

1)参数为字符串

var text = "cat,bat,sat,fat";

var result = text.replace('at','od');

console.log(result)// "cod,bat,sat,fat"


2)正则表达式

var text = "cat,bat,sat,fat";

var result = text.replace(/at/g,'od');          //如果不设置全局环境g,只会替换抵押给

console.log(result)// "cod,bod,sod,fod"



猜你喜欢

转载自blog.csdn.net/hamsterknight/article/details/80296915