正则表达式在每个单词之后分割字符串

问题描述 投票:0回答:1

写入此字符串以一次匹配所有测试字符串。

String="AQuickBrown_fox jump over the-lazy-Dog";

基本上我想让这些字符串看起来像这样:

"a-quick-brown-fox-jump-over-the-lazy-dog"

我尝试对字符串使用 split("/regex/") 函数,对返回的数组应用 join("-") 函数,并应用 .toLowerCase。但我找不到解决方案。我想知道可以分割单词的正则表达式,以便我可以获得所需的字符串。

javascript regex join split
1个回答
1
投票

来自 https://www.geeksforgeeks.org/how-to-convert-a-string-into-kebab-case-using-javascript/

这会检查空格、大写字母和下划线。它创建一个数组并推送分隔字符串的单词。现在使用

join()
将数组与连字符连接起来。之后将整个字符串转换为小写。

const kebabCase = str => str
    .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
    .join('-')
    .toLowerCase();

console.log(kebabCase('Geeks For Geeks'));
console.log(kebabCase('GeeksForGeeks'));
console.log(kebabCase('Geeks_For_Geeks'));
© www.soinside.com 2019 - 2024. All rights reserved.