字符串匹配之includes方法介绍

81 篇文章 7 订阅

字符串匹配之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. 一个字符串中,如果出现了这个字符串,我们就做什么操作,没有出现做什么操作等。
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用JavaScript中的includes()方法来判断一个字符串是否包含另一个字符串。例如,以下代码将检查变量str是否包含子字符串"hello": ``` var str = "hello world"; if (str.includes("hello")) { console.log("字符串中包含'hello'"); } else { console.log("字符串中不包含'hello'"); } ``` 在这个例子中,代码会输出"字符串中包含'hello'",因为变量str包含子字符串"hello"。 ### 回答2: 在JavaScript中,可以使用字符串对象的`includes()`方法来判断一个字符串是否包含指定的子字符串。 `includes()`方法返回一个布尔值,如果字符串中包含指定的子字符串,则返回`true`,否则返回`false`。 以下是一个例子: ```javascript let str = "Hello World!"; let subStr = "World"; if (str.includes(subStr)) { console.log('字符串包含指定的子字符串'); } else { console.log('字符串不包含指定的子字符串'); } ``` 上述代码中,我们定义了一个字符串`str`,然后使用`includes()`方法判断`str`是否包含`subStr`子字符串。如果包含,则输出`'字符串包含指定的子字符串'`;否则输出`'字符串不包含指定的子字符串'`。 需要注意的是,`includes()`方法区分大小写,所以在判断时要注意大小写是否一致。 希望能帮到你! ### 回答3: 在JavaScript中,我们可以使用字符串的`includes()`方法来判断一个字符串是否包含另一个子字符串。 `includes()`方法接受一个参数,即要在字符串中搜索的子字符串。如果字符串中包含该子字符串,则返回`true`;如果不包含,则返回`false`。 以下是一个示例: ```javascript let str = "Hello, world!"; let subStr = "world"; if (str.includes(subStr)) { console.log("字符串包含子字符串"); } else { console.log("字符串不包含子字符串"); } ``` 运行上述代码,将会输出"字符串包含子字符串",因为字符串`str`包含了子字符串`subStr`。 这个方法对大小写是敏感的,如果要忽略大小写来判断字符串是否包含子字符串,可以先将字符串都转换为小写或大写,然后再使用`includes()`方法来进行匹配。 ```javascript let str = "Hello, world!"; let subStr = "WORLD"; if (str.toLowerCase().includes(subStr.toLowerCase())) { console.log("字符串包含子字符串"); } else { console.log("字符串不包含子字符串"); } ``` 运行上述代码,同样会输出"字符串包含子字符串",因为我们在比较之前将字符串都转换为了小写。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值