Questão Como usar o REGEX para capitalizar a primeira letra de cada palavra em uma frase?


Eu gostaria de usar expressões regulares (REGEX) para capitalizar a primeira letra de cada palavra em uma frase.

Eu consegui o mesmo resultado em linguagens de programação, mas parece que usar expressões regulares seria mais conciso.


3


origem


Como você lidaria com o caso em que você tem uma abreviação? Por favor, forneça amostras dos outros idiomas em que você fez isso. - David
como "teste de teste" deve retornar "Test Testing" estou trabalhando nele com MSL e este código faz exatamente a mesma coisa, mas eu sei que há uma maneira de usar regex alias reg {var% x = 1,% y = $$ 1 ,% z while (% x <= $ numtok (% y, 32)) {% z =% z $ + ($ superior ($ esquerda ($ gettok (% y,% x, 32), 1)), $ mid ($ gettok (% y,% x, 32), $ iif ($ len ($ gettok (% y,% x, 32)) == 1, $ remove (% x, $ right ($ gettok (% y ,% x, 32), 1)), $ + (-, $ calc ($ len ($ gettok (% y,% x, 32)) - 1))))) inc% x} retorno% z} - Sirius_Black
Além disso, que tipo de regex você está querendo usar? por exemplo. PCRE POSIX? Existem diferenças sutis, e faz diferença para onde e / ou em quais idiomas você deseja usar o REGEX. - David
Essa é a linguagem de script mirc? - David


Respostas:


Exemplo usando sed comando.

~$ echo "foo bar" | sed  's/^\(.\)/\U\1/'

Onde:

  • a ^ representa o começo de uma linha.
  • . corresponde a qualquer caractere.
  • \U converte em maiúsculas.
  • \( ... \) especifica uma seção a ser referenciada posteriormente (Como \1 nesse caso).

2



eu descobri que eu posso usar /^(.)|(?<=\s)(.)/g ou / \ b (\ S) / g mas Obrigado - Sirius_Black
\U - tudo seguindo em maiúsculas, \u próximo caractere somente em maiúsculas - Mark Jeronimus