2017-02-22 3 views
0

Есть несколько строк, которые извлекаются в массиве объектов в Angular JS. Значения будут выглядеть как us-east-1 или uk-west-5.Преобразование строки в смешанный регистр в Javascript

Я хочу преобразовать каждую строку в смешанный футляр, например US-East-1 или UK-West-5.

Я знаю, что могу достичь того же splitting the strings by - and then to convert to toUpperCase() for the first item in array and then to convert only the first letter of the second item item in the array.

Но есть ли другие возможные решения?

Как насчет регулярное выражение? Может кто-нибудь объяснить, как использовать то же самое?

+1

Я думаю, REGEX используется только, чтобы найти, если данная строка является соответствием заданного условия или нет. Мы не можем использовать regEx в этом сценарии. Мое предложение состоит в том, что мы должны пойти с Угловыми фильтрами. –

ответ

1

Это должно работать.

Поиск по:

(\w+-)(\w)(\w+) 

Заменить:

\U$1\U$2\L$3 

Объяснение:

\U => Uppercase 
\L => Lowercase 

Вход:

us-east-1 or uk-west-5 

Выхода:

US-East-1 or UK-West-5 

См: https://regex101.com/r/rzBTpo/1