Flex: С заглавной буквы слова в строке? - PullRequest
2 голосов
/ 14 мая 2009

Я пытаюсь сделать эквивалент PHP ucwords () во Flex. Я не хочу, чтобы вся строка в верхнем регистре была только первой буквой каждого слова. Кто-нибудь знает способ?

Спасибо!

Ответы [ 5 ]

11 голосов
/ 14 мая 2009

Попробуйте

str.replace(/\b./g,function(m){return String(m).toUpperCase()});

Объяснение:

регулярное выражение /\b./g соответствует границе слова, за которой следует любой символ. Все совпадения будут переданы анонимной функции, определенной во втором параметре метода replace. Функция возвращает совпадение с заглавной буквы.

10 голосов
/ 08 января 2010

Это то же самое, что и ответ Рафаэля, но без предупреждений:)

str.replace(/\b./g,function(...m):String{return m[0].toUpperCase()});
1 голос
/ 05 сентября 2011

У меня были некоторые проблемы со специальными символами на португальском языке, поэтому я изменил его на RegExp:

str.replace(/(^|\s|\t)+\S/g, function(...m):String{return m[0].toUpperCase()});
1 голос
/ 25 мая 2011

Принятый ответ предполагает, что строка начинается со строчной буквы. Если вы начинаете со строки со всеми прописными или случайными смешанными падежами, это не сработает.

Вот простая модификация, которая не требует, чтобы исходная строка начиналась со строчных букв:

str.toLowerCase().replace(/\b./g,function(...m):String{return m[0].toUpperCase()});
0 голосов
/ 19 мая 2009

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

str.replace (/ \ b./g,function(m:String):Stringndomreturn m.toUpperCase ()});

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

Я пытался исправить регулярное выражение, но мое регулярное выражение не очень хорошо. Так что я наказан. Это работает (по крайней мере, для первого слова в строке). Для нескольких слов вам придется использовать разделение.

str = str.substr (0,1) .toUpperCase () + str.substr (1, str.length);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...