首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 判断一个字符串是否包含某个字符,除了 indexOf 方法,还有哪些函数?

今天是10月24,2的10次方1024,程序员的节日,祝各位小伙伴节日快乐!

工作日每天都很忙碌,有时还不知忙了啥。今天写了一个稍微复杂的列表展示,复制拷贝的一天。但还是想写点什么,以表示对节日的纪念。

en,今天搜索了两次。

之前在js中一直使用 indexOf 来判断是否一个字符串里是否包含某个字符,这次突发奇想,是否还有其他函数可以判断?一下子又搜出来4个,其中2个函数是以前没用过的。

一、js 是否包含某个字符,有哪些判断方式?

在 JavaScript 中,检查一个字符串是否包含某个字符或子字符串有几种常用的方法。以下是一些常见的判断方式:

这是最简单和直观的方法。includes() 方法返回一个布尔值,表示字符串是否包含指定的字符或子字符串。

const str = "Hello, world!";

const contains = str.includes("world");

console.log(contains); // 输出: true

indexOf() 方法返回指定字符或子字符串在字符串中首次出现的位置,如果未找到则返回 -1。可以根据返回值判断是否包含。

const str = "Hello, world!";

const contains = str.indexOf("world") !== -1;

console.log(contains); // 输出: true

search() 方法使用正则表达式来查找匹配项。如果找到匹配项,返回匹配项的索引,否则返回 -1。

使用正则表达式的 test() 方法也可以判断字符串是否包含某个字符或子字符串。

const str = "Hello, world!";

const regex = /world/;

const contains = regex.test(str);

console.log(contains); // 输出: true

match() 方法返回一个包含匹配结果的数组,如果没有找到匹配项,则返回 null。可以根据返回值判断是否包含。

const str = "Hello, world!";

const contains = str.match(/world/) !== null;

console.log(contains); // 输出: true

小结

推荐使用:includes() 是最简单和直观的方法,适合大多数场景。

兼容性:includes() 方法在 ES6 中引入,因此在较旧的浏览器中可能不被支持。如果需要兼容旧版浏览器,可以使用 indexOf()。

正则表达式:如果需要更复杂的匹配规则,可以使用正则表达式相关的方法(如 search() 或 test())。

二、js 通过特殊符号分割字符串,拼接成换行的文字

在 JavaScript 中,我们可以通过使用 split 方法来分割字符串,然后使用 join 方法将其拼接成带换行符的字符串。

以下是一个示例代码,展示如何通过特殊符号(例如 ;)分割字符串,并将其转换为换行格式的文字:

// 原始字符串

const originalString = "这是第一行;这是第二行;这是第三行";

// 使用分号分割字符串

const splitArray = originalString.split(";");

// 将数组拼接成换行格式的字符串

const resultString = splitArray.join("\n");

// 输出结果

console.log(resultString);

在这个示例中,字符串 originalString 被分割成一个数组 splitArray,然后通过 join("\n") 方法将数组中的元素拼接成一个新的字符串 resultString,每个元素之间用换行符 \n 分隔。分隔符 ; 可以替换为业务场景中的任何特殊符号。

还需要两步,提问的方式不对,换个方式提问。

js 把特殊符号替换成换行的符号,在html中可以换行展示

在 JavaScript 中,我们可以使用 replace 方法将特殊符号替换为换行符,同时在 HTML 中显示换行。由于 HTML 不会识别普通的换行符 \n,我们需要将换行符转换为 <br> 标签。下面是一个完整的示例代码,展示如何实现这一功能。

示例代码

HTML 结构

我们需要一个 HTML 元素来显示结果。例如:

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>特殊符号替换示例</title>

<div id="output"></div>

<script>

// 原始字符串

const originalString = "这是第一行;这是第二行;这是第三行";

// 使用 replace 方法将分号替换为 <br> 标签

const resultString = originalString.replace(/;/g, "<br>");

// 输出结果到 HTML

document.getElementById("output").innerHTML = resultString;

</script>

解释

原始字符串:定义一个包含多个段落的字符串,以 ; 为分隔符。

replace 方法:使用正则表达式 /;/g 来匹配所有的分号。g 是全局标志,表示替换字符串中所有的匹配项。

替换为 <br>:将匹配到的分号替换为 HTML 的换行标签 <br>,以便在网页中实现换行效果。换行符 \n是在js中的换行符。

输出到 HTML:使用 innerHTML 属性将结果字符串插入到页面中的 div 元素。

运行结果

在这个示例中,打开 HTML 页面,我们将看到以下输出:

这是第一行

这是第二行

这是第三行

每行之间会有换行效果,因为我们使用了 <br> 标签。我们可以根据需要替换 ; 为想要的任何特殊符号,只需相应修改正则表达式即可。

想要好答案,也需要会提问。

就分享这么多吧,都是些常规操作,代码简洁没有最极致,只有更极致。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ONnfZfEWjh68w0dctrS5IhMQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券