Strings e expressões regulares (regexps)

Strings

Seguindo a "tradição" de várias linguagens script de UNIX, strings podem ser expressas por aspas duplas e simples, com propósitos diferentes.

As expressas com aspas duplas ('"') podem ter várias substituições de "códigos de escape", como '\t' para tabulação horizontal, '\n' para nova-linha, etc. (consulte o manual). Além dessas substituições simples, podem ter substituições de qualquer expressão, entre os caracteres #{}.

msg = "oi!"
puts "msg: #{msg}"                     # >> msg: oi!
puts "#{ def oi; 'tchau!'; end; oi }"  # >> tchau!
puts %Q|Esta string pode ter " e '.|   # >> Esta string pode ter " e '.
puts %q[Outra string.]                 # >> Outra string.

As strings expressas com aspas simples (''') podem ter apenas as substituições de escape '\'' (que permite a existência de ''' sem indicar o término da string), e '\\' (que permite a existência de uma '\' no fim da string, sem indicar a substituição '\''). Quaisquer outros caracteres são tratados de forma literal.

puts "1+1=#{1+1}"  # >> 1+1=2
puts '1+1=#{1+1}'  # >> 1+1=#{1+1}

Outras formas de expressar strings são usando a sintaxe %q/string/, que equivale ao uso de aspas simples, e %Q/string/, que equivale ao uso de aspas duplas. O caractere delimitador '/' pode ser substituído por qualquer outro não alfanumérico (por ex.: %Q(), %q||). Estas formas são úteis nos casos de strings contendo muitas aspas simples ou duplas, de acordo com o tipo de string utilizada. Ainda, é possível especificar strings ao longo de várias linhas (here documents), e com diferentes funções, mas isso não será explicado aqui. Consulte o manual, na parte de sintaxe, na seção "line-oriented string literals".

Strings são objetos da classe String. Veja as suas características e métodos disponíveis no manual e no livro Programming Ruby.

Expressões regulares

Expressões regulares são muito úteis no processamento de texto. Podem ser usadas, por exemplo, para separar campos, fazer buscas e substituições. As expressões regulares de Ruby são similares às de Perl, que por sua vez são similares às do comando egrep (UNIX/GNU/Linux/etc.). Caso você desconheça este comando, ele é usado para fazer buscas em arquivos, sugiro que dê uma olhada no seu manual ("man 1 egrep"), e/ou no manual da biblioteca GNU regex ("man 7 regex"). Porém, Ruby tem extensões a estas regexps. Consulte o livro Programming Ruby para uma referência completa.

Elas são expressas entre dois caracteres '/', ou, de forma semelhante às strings, %r//.

r = /oi!/     # >> busca a string oi!
r = /^print/  # >> busca a string print em começo de linha

Referências:

topo da página

<< Página Anterior | índice | Próxima Página >>
Apostilas de Ruby e RGSS

nossos tutoriais

navegue

livros recomendados