Texto
Funções de texto para nomes de pessoas, empresas e endereços.
Capitalize
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca59 casos falham
- Ruby, biblioteca79 casos falham
- Rust, biblioteca
- .NET, biblioteca79 casos falham
- Erlang, biblioteca
Coloca em maiúscula a primeira letra de cada palavra do jeito que se escreve um nome de pessoa, de empresa ou um endereço no Brasil.
Por exemplo, "jose da silva" vira "Jose da Silva", "empresa ltda" vira "Empresa LTDA" e "santana/rs" vira "Santana/RS".
options.lowerCaseWordslista as palavras que ficam em minúsculas entre duas palavras. O padrão são as preposições e a conjunçãoe:a,ao,aos,à,às,ante,após,até,com,da,das,de,do,dos,e,em,na,nas,no,nos,num,numa,o,para,pela,pelas,pelo,pelos,perante,por,sem,sob,sobre, mais as partículasdel,della,den,der,di,du,vanevon. Os artigos são sóaeo. Até a 2.4.0ao,aos,à,às,para,pela(s),pelo(s),sob,sobre,até,num,numa,ante,apóseperanterecebiam inicial maiúscula.options.upperCaseWordslista as palavras sempre em maiúsculas. O padrão são as designações de empresa (CIA,EIRELI,EPP,LTDA,ME,MEI,S.A,S.A.,S.S.,S/A,S/S,SCP), as abreviações de documento (CEP,CNPJ,CPF,RG,UF) e os numerais romanos. A comparação ignora maiúsculas e minúsculas.S/AeS/Ssão reconhecidos através da barra, mesmo que a barra separe palavras ("casa de carnes s/a"vira"Casa de Carnes S/A"). Uma lista informada substitui o padrão, então{ upperCaseWords: [] }transforma"empresa ltda"em"Empresa Ltda". A sigla de um estado depois de/, ou que termina o valor depois de hífen com espaços, travessão com espaços ou vírgula, continua em maiúsculas mesmo comupperCaseWordsinformado.- As palavras são separadas por espaços,
-,/, apóstrofos e pontuação vizinha. Sequências de espaços em branco (espaços, tabulações, quebras de linha) viram um só espaço, e os espaços do começo e do fim são removidos. - Uma palavra minúscula mantém a inicial maiúscula quando é a primeira, a última ou vem seguida de pontuação.
MEfica em maiúsculas só como designação (última palavra, ou logo antes de outra designação de empresa, comoEPPouS/A), nunca quando um hífen ou um apóstrofo o prende à palavra anterior ("diga-me"vira"Diga-Me").S.Aescrito sem o ponto final também é uma designação ("empresa s.a"vira"Empresa S.A"; até a 2.4.0 virava"Empresa S.a").SAsem pontos fica como está (o sobrenome Sá). - A partícula elidida
dfica em minúsculas onde aparecer, até como primeira palavra, mas só quando um apóstrofo e uma palavra vêm depois dela ("santa bárbara d'oeste"vira"Santa Bárbara d'Oeste";"rua d"vira"Rua D"). Uma letra sozinha depois de apóstrofo é o possessivo do inglês e fica em minúscula ("bob's"vira"Bob's"). - Numerais romanos de
IIaXXXIXficam em maiúsculas ("rua xxiv de maio"vira"Rua XXIV de Maio").VIfica de fora porque também é a forma verbal "vi", e os numerais a partir deXLficam de fora porque letras como L, C e D formam palavras comuns. A 2.4.0 parava emXXIII. - A sigla de um estado (UF) fica em maiúsculas depois de
/("santana/rs"vira"Santana/RS"). Como última palavra, ela também fica em maiúsculas depois de hífen com espaços, travessão (en dash) com espaços ou vírgula, a forma "Cidade - UF" do guia de endereçamento dos Correios:"brasília - df"vira"Brasília - DF". Em qualquer outra posição, ou depois de hífen sem espaços ("brasília-df"), as duas letras são uma palavra comum. A 2.4.0 só colocava a sigla em maiúsculas depois de/. - Só uma sigla de estado existente conta:
"santana/br"vira"Santana/Br". - Uma primeira letra cuja maiúscula tem duas letras (
ß) mantém a caixa:"straße"vira"Straße"e"ßa"continua"ßa". As letras depois da primeira vão para minúsculas uma a uma, então"İSTANBUL"vira"İstanbul". - Um
lowerCaseWordsouupperCaseWordsque não é array volta ao padrão, e um item que não é string é ignorado. Umvalueque não é string retorna uma string vazia.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | sim |
options | CapitalizeOptions | não |
options.lowerCaseWords | string[] | não |
options.upperCaseWords | string[] | não |
| retorna | string |
Transforma em maiúscula a primeira letra de cada palavra, do jeito que se escreve um nome, uma razão social ou um endereço brasileiro, sem precisar de opções.
- Opções (
CapitalizeOptions):lowerCaseWords, palavras mantidas em minúsculas entre duas palavras, por padrão as preposições e a conjunçãoe, comode,da,do,ao,para,pelo,sobre,até(os artigos são sóaeo);upperCaseWords, palavras sempre em maiúsculas, por padrão designações societárias e abreviações comoLTDA,S.A.,ME,CNPJe algarismos romanos. Uma lista substitui a padrão. - Palavras se separam em espaços,
-,/, apóstrofos e pontuação colada; espaços repetidos viram um só. - Palavra minúscula que é a primeira, a última ou precede pontuação é designativo e mantém a maiúscula.
MEsó vira maiúsculas como designação (última palavra ou antes de outra);S.Asem o ponto final também é designação, jáSAsem pontos fica como está (o sobrenome Sá). Sigla de estado após/vira maiúsculas mesmo comupperCaseWordsinformado, assim como a que termina o valor depois de-ou–entre espaços ou de,, o "Cidade – UF" dos Correios.
import { capitalize } from '@brazilian-utils/brazilian-utils';
capitalize('jose da silva'); // Jose da Silva
capitalize('JOSÉ DA SILVA'); // José da Silva
capitalize('empresa ltda'); // Empresa LTDA
capitalize('banco do brasil s.a.'); // Banco do Brasil S.A.
capitalize('casa de carnes s/a'); // Casa de Carnes S/A ("S/A" é reconhecido com a barra no meio)
capitalize('mogi-guaçu'); // Mogi-Guaçu ("-" inicia uma nova palavra)
capitalize("santa bárbara d'oeste"); // Santa Bárbara d'Oeste ("'" inicia uma nova palavra, "d" fica minúsculo)
capitalize("bob's"); // Bob's (uma letra sozinha depois do apóstrofo é o possessivo do inglês)
capitalize('rua a, 100'); // Rua A, 100 (uma preposição antes de pontuação é um designativo)
capitalize('fulano comércio me'); // Fulano Comércio ME ("ME" como última palavra é a designação)
capitalize('não-me-toque'); // Não-Me-Toque (em qualquer outro lugar "me" é palavra comum)
capitalize('(empresa) ltda'); // (Empresa) LTDA
capitalize('luiz von schmidt'); // Luiz von Schmidt
capitalize('casa para todos'); // Casa para Todos (preposições contraídas como "ao", "às", "pelo" e "sobre" também ficam minúsculas)
capitalize('empresa s.a'); // Empresa S.A
capitalize('santana/rs'); // Santana/RS ("RS" é sigla de estado logo depois de uma "/")
capitalize('porto alegre/rs'); // Porto Alegre/RS
capitalize('brasília - df'); // Brasília - DF (sigla de estado como última palavra depois de " - ", " – " ou ", ")
capitalize('santana rs'); // Santana Rs (sem "/", "rs" é só uma palavra)
capitalize('rua xv de novembro'); // Rua XV de Novembro (algarismo romano, "de" fica em minúsculas)
capitalize('joão paulo ii'); // João Paulo II
capitalize('rua xxiv de maio'); // Rua XXIV de Maio (algarismos romanos de II a XXXIX, exceto VI, o verbo "vi")
capitalize('de'); // De (uma preposição mantém a maiúscula quando é a primeira palavra)
capitalize('empresa ltda', { upperCaseWords: [] }); // Empresa Ltda (a lista informada substitui a padrão)
capitalize('josé Ama MARIA', { lowerCaseWords: ['ama'] }); // José ama Maria
capitalize('doc inválido', { upperCaseWords: ['DOC'] }); // DOC Inválido (comparação sem diferenciar maiúsculas de minúsculas)
capitalize(' josé maria '); // José Maria (toda sequência de espaço em branco, tabs e quebras de linha inclusive, vira um único espaço)Fonte: Manual de Redação da Presidência da República.
Código: brazilian-utils/javascriptTeste com JavaScript capitalize
Casos de teste compartilhados (162) e o resultado em cada biblioteca text.capitalize
Remove accents
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca2 casos falham
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Remove os sinais diacríticos (acentos, tis, cedilhas) de um texto.
- A função decompõe cada caractere (Unicode NFD) e descarta toda marca combinante (categoria geral M), então remove acentos de qualquer escrita.
- Letras sem decomposição em letra base mais marca continuam como estão (
ß,ø,æ). Umvalueque não é string retorna uma string vazia.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | sim |
| retorna | string |
Remove marcas diacríticas (acentos, tils, cedilhas) de uma string.
- Toda marca de combinação (categoria geral M do Unicode) é descartada, então acentos de qualquer escrita são removidos.
import { removeAccents } from '@brazilian-utils/brazilian-utils';
removeAccents('São Paulo'); // 'Sao Paulo'
removeAccents('Piauí'); // 'Piaui'
removeAccents('Ceará'); // 'Ceara'
removeAccents('Açaí'); // 'Acai'
removeAccents(''); // ''Teste com JavaScript removeAccents
Casos de teste compartilhados (11) e o resultado em cada biblioteca text.removeAccents
Fontes oficiais
- www4.planalto.gov.br/centrodeestudos/assuntos/…/manual-de-redacao.pdf
- www4.planalto.gov.br/centrodeestudos/assuntos/…/manual-de-redacao-da-presidencia-da-republica
- servicodados.ibge.gov.br/api/docs/…/localidades
- planalto.gov.br/ccivil_03/leis/…/l6404consol.htm
- planalto.gov.br/ccivil_03/leis/…/l10406compilada.htm
- planalto.gov.br/ccivil_03/leis/…/lcp123.htm
- gov.br/empresas-e-negocios/pt-br/…/anexo-iv-limitada_link.pdf
- gov.br/empresas-e-negocios/pt-br/…/instrucoes-normativas
- correios.com.br/enviar/precisa-de-ajuda/…/guia-de-enderecamento
- unicode.org/reports/tr15
- unicode.org/reports/tr44
Atualizado em
