| Class | String |
| In: |
brstring/lib/brstring/string_portuguese.rb
|
| Parent: | Object |
| MINUSCULAS_COM_ACENTO | = | 'áéíóúâêîôûàèìòùäëïöüãõñç' |
| MAIUSCULAS_COM_ACENTO | = | 'ÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙÄËÏÖÜÃÕÑÇ' |
| MINUSCULAS | = | "abcdefghijklmnopqrstuvwxyz#{MINUSCULAS_COM_ACENTO}" |
| MAIUSCULAS | = | "ABCDEFGHIJKLMNOPQRSTUVWXYZ#{MAIUSCULAS_COM_ACENTO}" |
Retorna uma string com caracteres minúsculos
Exemplo:
String.downcase('TEXTO COM ACENTUAÇÃO') ==> 'texto com acentuação'
# File brstring/lib/brstring/string_portuguese.rb, line 97
97: def self.downcase(texto)
98: return texto if texto.blank?
99: texto.tr(MAIUSCULAS, MINUSCULAS)
100: end
Normaliza nomes proprios
Exemplo:
String.nome_proprio('maria de souza dos santos e silva da costa') ==> 'Maria de Souza dos Santos e Silva da Costa'
# File brstring/lib/brstring/string_portuguese.rb, line 12
12: def self.nome_proprio(texto)
13: return texto if texto.blank?
14: self.titleize(texto).gsub(/ D(a|e|o|as|os) /, ' d\1 ').gsub(/ E /, ' e ')
15: end
Remove as letras acentuadas
Exemplo:
String.remover_acentos('texto está com acentuação') ==> 'texto esta com acentuacao'
# File brstring/lib/brstring/string_portuguese.rb, line 39
39: def self.remover_acentos(texto)
40: return texto if texto.blank?
41: texto = texto.gsub(/[á|à|ã|â|ä]/, 'a').gsub(/(é|è|ê|ë)/, 'e').gsub(/(í|ì|î|ï)/, 'i').gsub(/(ó|ò|õ|ô|ö)/, 'o').gsub(/(ú|ù|û|ü)/, 'u')
42: texto = texto.gsub(/(Á|À|Ã|Â|Ä)/, 'A').gsub(/(É|È|Ê|Ë)/, 'E').gsub(/(Í|Ì|Î|Ï)/, 'I').gsub(/(Ó|Ò|Õ|Ô|Ö)/, 'O').gsub(/(Ú|Ù|Û|Ü)/, 'U')
43: texto = texto.gsub(/ñ/, 'n').gsub(/Ñ/, 'N')
44: texto = texto.gsub(/ç/, 'c').gsub(/Ç/, 'C')
45: texto
46: end
Passa a primeira letra de cada palavra para maiúscula e as demais para minúsculas.
Exemplo:
String.titleize('o livro esta sobre a mesa!') ==> 'O Livro Esta Sobre A Mesa!'
# File brstring/lib/brstring/string_portuguese.rb, line 124
124: def self.titleize(texto)
125: return texto if texto.blank?
126: texto = texto.downcase
127: texto.chars[0] = texto.chars.first.upcase
128: texto = texto.gsub(/\s[a-z#{String::MINUSCULAS_COM_ACENTO}]/) {|a| a.upcase }
129: texto
130: end
Retorna uma string com caracteres maiusculos
Exemplo:
String.upcase('texto com acentuação' ==> 'TEXTO COM ACENTUAÇÃO'
# File brstring/lib/brstring/string_portuguese.rb, line 70
70: def self.upcase(texto)
71: return texto if texto.blank?
72: texto.tr(MINUSCULAS, MAIUSCULAS)
73: end
Retorna uma string com caracteres minúsculos
Exemplo:
'TEXTO COM ACENTUAÇÃO'.downcase ==> 'texto com acentuação'
# File brstring/lib/brstring/string_portuguese.rb, line 106
106: def downcase
107: String.downcase(self)
108: end
Converte para caracteres minúsculos na própria instância
Exemplo:
texto = 'TEXTO COM ACENTUAÇÃO' texto.downcase texto ==> 'texto com acentuação'
# File brstring/lib/brstring/string_portuguese.rb, line 116
116: def downcase!
117: self.gsub!(/^.*$/, String.downcase(self)) if self
118: end
Normaliza nomes proprios
Exemplo:
'maria de souza dos santos e silva da costa'.nome_proprio ==> 'Maria de Souza dos Santos e Silva da Costa'
# File brstring/lib/brstring/string_portuguese.rb, line 21
21: def nome_proprio
22: String.nome_proprio(self)
23: end
Normaliza nomes proprios na própria instância.
Exemplo:
texto = 'maria de souza dos santos e silva da costa' texto.nome_proprio! texto ==> 'Maria de Souza dos Santos e Silva da Costa'
# File brstring/lib/brstring/string_portuguese.rb, line 31
31: def nome_proprio!
32: self.gsub!(/^.*$/, String.nome_proprio(self)) if self
33: end
Remove as letras acentuadas
Exemplo:
'texto está com acentuação'.remover_acentos ==> 'texto esta com acentuacao'
# File brstring/lib/brstring/string_portuguese.rb, line 52
52: def remover_acentos
53: String.remover_acentos(self)
54: end
Remove as letras acentuadas na própria instância.
Exemplo:
texto = 'texto está com acentuação' texto.remover_acentos! texto ==> 'texto esta com acentuacao'
# File brstring/lib/brstring/string_portuguese.rb, line 62
62: def remover_acentos!
63: self.gsub!(/^.*$/, String.remover_acentos(self)) if self
64: end
Passa a primeira letra de cada palavra para maiúscula e as demais para minúsculas.
Exemplo:
'o livro esta sobre a mesa!'.titleize ==> 'O Livro Esta Sobre A Mesa!'
# File brstring/lib/brstring/string_portuguese.rb, line 136
136: def titleize
137: String.titleize(self)
138: end
Passa a primeira letra de cada palavra para maiúscula e as demais para minúsculas na própria instância.
Exemplo:
texto = 'o livro esta sobre a mesa!' texto.titleize! texto ==> 'O Livro Esta Sobre A Mesa!'
# File brstring/lib/brstring/string_portuguese.rb, line 146
146: def titleize!
147: self.gsub!(/^.*$/, String.titleize(self)) if self
148: end