[前端笔记019]JavaScript之字符串的常用方法和正则表达式

资源

字符串的常用方法

  • 字符串本质是字符数组,很多方法与数组相似,但是是不可变的,所以方法都是不可变方法。
  • lenth,获取长度,只读;也可以通过[索引]获取指定位置的字符
  • at()/charAt(),通过索引获取指定位置的字符,at()可以传负数
  • concat(str1,str2),拼串,和+号类似
  • includes(str1,[查询起始位置]),检查是否包含某个内容,有就返回true
  • indexOf(str1)/lastIndexOf(str1),查询是否包含某个内容,返回索引。同样有可选的起始查询位置参数。
  • endsWith(str)/startWith(str),检查是否以某个内容结束/开始
  • padStart(lenth,填充内容)/padStart(lenth,填充内容),在开始或末尾填充内容到指定长度,填充内容默认空格。
  • repeat(8),将N个相同的字符串拼在一起
  • replace(‘原内容’,‘替换内容’)/replaceAll(‘原内容’,‘替换内容’),用新字符串替换指定内容,前者替换一个,后者替换全部。
  • slice(起始位置索引,结束位置索引)/substring(起始位置索引,结束位置索引),截取字符串,包括起始位置,不包括结束位置,区别是后者的起始和结束位置可以互换。
  • substr(起始位置,截取长度),截取字符串
  • split(‘符号’),将字符串按传的符号拆成数组,更正则配合后功能更强大。
  • toLowerCase()/toUpperCase(),将字符串转换为小写/大写
  • trim()/trimStart()/trimEnd(),去除字符串的前后空格/前空格/后空格

正则表达式

  • 定义一个规则,根据规则,检查是否字符串符合规则,或者将符合规则的内容提取出来。
  • 正则表达式在JS中为一个对象,所以需要先创建对象。1. 使用构造函数创建,new RegExp(模式表达式,匹配模式),构造函数中接收两个字符串参数,当动态生成正则时使用构造函数,模式表达式中的转移字符需要两个斜杠\。2.使用字面量创建,let reg=/正则/匹配模式。简写:/正则/
  • reg.test(str),检查字符串是否符合reg规则
  • 编写规则:
    1. 大部分字符都可以直接写。
    2. |表示或。
    3. []表示字符集,有任意一个即可,[a-z]表示任意小写字母,[a-zA-Z]任意字母。
    4. [^xxx]表示除了,比如[^a-z]表示除了小写字母。
    5. .表示除了换行\n\r外的任意字符,需要表达单纯的.需要使用转移字符\
    6. 其他的字符集,\w 任意单词字符(大小写字母、0-9和下划线_) ;\W 除了单词字符 ;\d 任意数字;\D 除了数字;\s 单个空白字符,比如空格;\S 除了单个空白字符;\b 单词边界;\B 除了单此词边界。
    7. ^表是字符串开头,^a表示以a开头。
    8. $表是字符串结尾,a$表示以a结尾。^a$表示决定匹配a
    9. 上面的都是匹配一个字符,在这些后加上{m},表示正好m个,比如^a{3},三个a开头;{m,},表示至少m个;{m,n},表示m~n个
    10. {}只对前一个字符起作用,可以加()表分组,这样可以对组起作用,(ab){3},是否包含ababab
    11. +表示一个以上,相当于{1,}
    12. *表示任意数量,没有也行
    13. ?表示0-1次,相当于{0,1}
  • 匹配模式,1.i表示忽略大小写。2.g表示全局匹配
  • reg.exec(str),提取字符串中符合reg规则的内容,只匹配第一个,使用全局匹配模式后,每次调用,向后匹配一个。可以在正则中加小括号来分组,对结果使用索引来取出分组。

字符串的正则方法

  • str.split(reg),根据正则来对一个字符串进行拆分
  • str.search(reg),搜索符合正则表达式的内容第一次在字符串中出现的位置
  • str.replace(reg,‘替换内容’),根据正则替换字符串中的指定内容,正则不加g则只匹配一次。
  • str.match(reg),根据正则匹配字符串中的符合内容,返回字符串数组,缺点没有分组信息。正则不加g则只匹配一次。
  • str.matchAll(reg),根据正则匹配字符串中的所有符合内容,返回迭代器,有分组信息,正则必须加g

垃圾回收

  • 一个对象没有任何变量对其引用,则该对象为垃圾
  • JS自动回收垃圾,对于不用的对象,可以手动赋值null,让JS去回收
  • 这个垃圾回收,应该有更深的东西,之后看看。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值