今天是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> 标签。我们可以根据需要替换 ; 为想要的任何特殊符号,只需相应修改正则表达式即可。
想要好答案,也需要会提问。
就分享这么多吧,都是些常规操作,代码简洁没有最极致,只有更极致。
领取专属 10元无门槛券
私享最新 技术干货