按特殊字符拆分字符串
Split a String by Special Characters in JavaScript
要按特殊字符拆分字符串,请对split()
字符串调用该方法,将匹配任何特殊字符的正则表达式作为参数传递给它。该方法将在每次出现特殊字符时拆分字符串并返回包含结果的数组。
索引.js
const str = 'a.b-c=d/e_f'; const result = str.split(/[.\-=/_]/); // 👇️ ['a', 'b', 'c', 'd' ,'e' ,'f'] console.log(result);
如果您正在寻找匹配所有特殊字符的正则表达式,请向下滚动到最后一个示例。
我们传递给
split
方法的唯一参数是一个正则表达式——一个我们想要拆分字符串的分隔符。
正斜杠/ /
标记正则表达式的开始和结束。
方括号[]
称为字符类,匹配方括号之间的任何字符。您可以根据需要调整字符。
示例中的正则表达式匹配点、连字符、等号、正斜杠和下划线。
有些字符,例如连字符或反斜杠必须转义,因为它们具有特殊含义。
索引.js
const str = 'z=a-b\\c'; const result = str.split(/[=\-\\]/); // 👇️ ['z', 'a', 'b', 'c'] console.log(result);
如果还需要按空格拆分,可以在方括号之间添加一个空格。
索引.js
const str = 'a.b c'; const result = str.split(/[. ]/); // 👇️ ['a', 'b', 'c'] console.log(result);
如果您在阅读正则表达式时需要帮助,请查看
来自 MDN的正则表达式速查表。
下面是一个根据所有特殊字符拆分字符串的正则表达式示例。
索引.js
const str = 'a.b,c-d_e=f\\g/h'; const specialChars = /[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/; const result = str.split(specialChars); // 👇️ ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] console.log(result);
我们使用的正则表达式匹配任何特殊字符。如果您认为空格是一个特殊字符,您也可以在方括号中添加一个空格。
相反,您也可以删除方括号之间的任何字符,如果您不认为它们是特殊字符的话。