字符串匹配之includes方法

字符串匹配也是我们在编程中经常遇到的一个事了,不过好在JS强大,为我们提供了includes方法,接下来我就说一下这个方法的要点。

以一个列子为基础吧,讲起来明白些:

需求:有一串字符串,我想要知道这串字符串中有没有我需要的字符。

循序渐进

  1. 首先,你可以通过把原有的字符串通过剪切的方法,把一个个字符剪切出来,然后放到一个数组里,然后遍历数组与你所需要的字符串进行对比。

    方法完全OK,但是耗时耗力。

  2. 使用我们的includes方法,可以快速帮你进行匹配。

匹配字符串中的字符

我们来看一段代码:

<script>// 要匹配的字符串var str = "雨";var weather = "阵雨雷阵雨暴雨小雨";// 进行匹配var result = weather.includes(str);console.log(result);
</script>
输出的结果是: true

输出true,就代表着,我们在 weather 字符串里匹配到了字。

匹配数组中的内容

  1. 如果把上面的需求进行升级,我们不在局限于匹配一个字符串中的字了,我们要匹配的字符串是一个特定的天气名词,比如小雨,中雨等。
  2. 上面的代码显然就不是适应了,因为上面的字符串匹配逻辑,即便你要匹配雷阵也会返回true,但是显然这不是一个气象名字,不符合要求。

所以我们需要用到数组的匹配,我们在来看一段代码:

<script>// 要匹配的字符串var str = "中雪";var weather2 = ['小雪','中雪','大雪','暴雪'];// 进行匹配var result = weather2.includes(str);console.log(result);
</script>
输出的结果是: true

输出true,就代表着,我们在 weather2 字符串里匹配到了中雪一词。


其实如果有心的读者,会发现一点有趣的事情:includes方法有点类似于switch方法,既有相同之处,又互有优劣,使用时可根据情况进行选择。

includes方法使用场景常见于包含不包含,多对一等场景。

例如:

  1. 在做天气的逻辑时,不管是中雨,小雨,大雨,统一都用雨的图标来代替,就可以使用includes方法匹配雨这个字。
  2. 一个字符串中,如果出现了这个字符串,我们就做什么操作,没有出现做什么操作等。

字符串匹配之includes方法介绍相关推荐

  1. PS首行缩进2个字符的正确设置方法介绍

    内容提要:本文介绍PS首行缩进2个字符的方法介绍. photoshop首行缩进是一个比较实用且好用的命令哦.对PS感兴趣的朋友可加PS学习交流群:142574315 ps教程中首行缩进调整在段落面板里 ...

  2. JavaScript正则——字符串匹配正则的方法

    一.字符串匹配正则方法 语法:字符串.方法名称 1>search (类似于indexOf) 如果匹配,返回下标位置 如果不匹配,返回-1 查找a的下标位置 注: ①下标从0开始数: ②空格也需要 ...

  3. c语言给定一个字符串匹配,使用C语言解决字符串匹配问题的方法

    最常想到的方法是使用KMP字符串匹配算法: #include #include #include int get_nextval(char *pattern,int next[]) { //get t ...

  4. java中字符串的精确匹配_Java最佳实践–字符串性能和精确字符串匹配

    java中字符串的精确匹配 在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论String性能调优. 我们将专注于如何有效地处理字符串创建, 字符串更改和字符串匹配操作. ...

  5. Java最佳实践–字符串性能和精确字符串匹配

    在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论String性能调优. 我们将专注于如何有效地处理字符串创建, 字符串更改和字符串匹配操作. 此外,我们将提供我们自己的用 ...

  6. 从 重复叠加字符串匹配 看Java String源码中的contains方法

    原题:重复叠加字符串匹配 解题思路已经写在代码中了: class Solution {public:bool contain(string &a, string &b, long lo ...

  7. 编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException

    题目:编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException 具体代码如下: import java.text.Par ...

  8. Computer:正则表达式技术的简介(元字符/普通字符使用字典及其方法总结大全)、相关库介绍、案例应用之详细攻略

    Computer:正则表达式技术的简介(元字符/普通字符使用字典及其方法总结大全).相关库介绍.案例应用之详细攻略 导读:正则表达式有等价的概念,比较晦涩难懂,其实,使用正则表达式本身就是个难题.当面 ...

  9. 字符串匹配shiftand算法

    令人惊叹的Shift-And/Shift-Or 写在前面:Shift-And/Shift-Or是如此令人惊叹的算法,在KMP基础上开始一段神奇之旅. 目的:以Shift-And算法为载体,试图在减少思 ...

最新文章

  1. 前阿里程序员吐槽女友败家:开酒店必须400元起步,工资只有自己的1/3
  2. 《LeetCode力扣练习》第13题 C语言版 (做出来就行,别问我效率。。。。)
  3. BadgeView(View上添加提醒)的应用与分析
  4. SIP中的SDP offer/answer交换初探
  5. 期望文件系统格式在“1”到“4”之间;发现格式“6”
  6. python如何将视频流实时传输到手机?(有问题,一次只能被一台访问)
  7. 没牙虎小apple的幸福生活
  8. 子线程和主线程的关系
  9. python挂机脚本阴阳师_Python简单实现阴阳师挂机脚本
  10. uniapp开发实例github_跨端开发痛点?送你一款Vue最流行的跨端框架——uni-app
  11. python怎样把if语句写成一行_python:将一个简单的if-then-else语句放在一行上
  12. ASP.NET缓存中Cache过期的三种策略
  13. python: ubuntu下把py2.7改成py3
  14. 构建LALR(1)项目集族
  15. unity3d Crease效果分析
  16. 12v电瓶20安时是什么意思
  17. confluence开发,实现与现有单点登录sso系统对接。
  18. 散列表--双散列、再散列与可扩散列
  19. 程序员把开发搬到云服务器,如何将IDEA开发的java web项目移植到腾讯云服务器
  20. linux中tftp服务器设置及测试

热门文章

  1. vue3报错error Component name “Layout“ should always be multi-word vue/multi-word-component-names
  2. win7怎么关闭3D加速的方法
  3. spring aop执行逻辑 奥利给
  4. 解决code ELIFECYCLE npm ERR errno 1问题
  5. 这届世界杯是不是让你出乎意料?写个足球小游戏来模拟一下!
  6. 使用动态链接库的好处
  7. 自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构
  8. myBatis MybatisMapperMethod类 获取 Page对象的坑。。
  9. Android 10.0横屏旋转开机动画显示不全的解决方案
  10. 原生js手机相册制作 原创