Javascript разбить строку по первому вхождению строчных символов - PullRequest
0 голосов
/ 19 декабря 2018

Я хотел бы взять строковые входы Паскаля и разделить их на дефисы.

"HelloWorld" becomes "hello-world"

Я могу сделать это без проблем, однако мои попытки регулярного выражения начинают терпеть неудачу, когда, скажем, человек поставляетследующее:

"FAQ" becomes "f-a-q"

Я хочу, чтобы FAQ оставался как "faq", поэтому я думаю, что мне нужно разделить строку на все первые экземпляры строчных и прописных букв правильно?

Мое регулярное выражение сейчас:

name.split(/(?=[A-Z])/).join('-').toLowerCase()

1 Ответ

0 голосов
/ 19 декабря 2018

Вы можете заменить средние начальные заглавные буквы.

function hyphenate(string) {
    return string.replace(/[^A-Z](?=[A-Z])/g, '$&-').toLowerCase();
}

console.log(hyphenate("FAQ"));        // faq
console.log(hyphenate("ReadTheFAQ")); // read-the-faq
console.log(hyphenate("HelloWorld")); // hello-world
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...