JavaScript делает заглавной первую букву строки, содержащей турецкий символ

Я стремлюсь использовать только первую букву каждого слова в строке. (остальные буквы строк должны быть строчными)

Я проверил подобные вопросы, но не смог найти точное решение для символов Юникода.

Например

Моя строка şöhret için önce çalışmak/gerek

Я хочу иметь Şöhret İçin Önce Çalışmak/Gerek

Мое решение не работает для турецких символов:

myStr.toLocaleLowerCase("TR").replace(/\b[a-zığüşöç](?=[a-zığüşöç]{0})/g, function(letter) {
    return letter.toLocaleUpperCase("TR"); } );

Результат решения выше:

şöHret İÇİn öNce çAlIşMak/Gerek

Я также использовал шестнадцатеричное представление турецкого символа, но результат не изменился


person Nas Ahmet    schedule 09.04.2021    source источник
comment
Удалите \b, используйте эквивалент Unicode. См. эту демонстрацию регулярного выражения.   -  person Wiktor Stribiżew    schedule 09.04.2021
comment
Спасибо, но не работает в jsvascript   -  person Nas Ahmet    schedule 09.04.2021
comment
Он работает на JavaScript, в демо версии регулярных выражений используется JS. Если вы хотите использовать настраиваемые границы, используйте решения из Javascript RegExp + границы Word + символы Unicode< /а>. Например. основанные на XRegExp.   -  person Wiktor Stribiżew    schedule 09.04.2021
comment
Виктор. Не могли бы вы написать полную функцию JavaScript? Я не мог этого добиться.   -  person Nas Ahmet    schedule 09.04.2021
comment
См. jsfiddle.net/wiktor_stribizew/pv06juhw/1.   -  person Wiktor Stribiżew    schedule 09.04.2021