Neste post iremos aprender a trabalhar um pouco com String no Scala. ## Declaração Já vimos nos posts anteriores como declaramos uma variável do tipo String. Podemos fazer de duas formas basicamente:
1) Especificando o Tipo
2) Omitindo o tipo, deixando que o Scala determine automaticamente o tipo.
Funções úteis
#### Capturando um caracter dentro de uma StringPara capturar um caracter, basta informar o indice que o caracter está posicionado. Podemos fazer isso de 3 formas:
Utilizando o método apply:
Ou utilizando o método charAt:
Transformando o primeiro caracter em maiúsculo
Para isso iremos utilizar o método capitalize:
Comparando Strings
Para compararmos exatamente duas Strings, com distinção de letras maiúsculas e minúsculas, utilizamos o método == ou compareTo:
Reparem que o método compareTo retorna um Int, onde se for igual a 0 quer dizer que as Strings são iguais.
Podemos também comparar duas Strings, ignorando letras maiúsculas e minúsculas:
Seguindo a mesma idéia do método compareTo, onde 0, significa que as Strings são iguais. #### Concatenando Strings Podemos fazer de algumas formas:
Utilizando o método +:
Utilizando o método concat:
Ou utilizando interpolação:
Para trabalharmos com interpolação, basta adicionar s antes da string e concatenar utilizando o caracter $. Podemos também utilizar blocos de código ${ } para fazer a interpolação:
Bloco de String
Muitas vezes precisamos definir uma String um tanto grande. Colocar tudo na mesma linha, sem nenhuma indentação, pode ser uma tarefa meio complicada de se escrever e de dar manutenção futuramente. O Scala assim como outras linguagens, permitem definirmos um bloco de String, vejamos:
Delimitamos nosso bloco de String, utilizando três aspas ”"”. Note que ele irá respeitar a marge que definimos.
Podemos também, informar qual é o nosso delimitador de margem, com o método stripMargin:
O método stripMargin é responsável por contar as margens da nossa String. Vejam que nossa String possui vários caracteres “|”. São eles que indicam até onde será cortado cada linha de nossa String. #### Checando a existência de caracteres numa String Para verificarmos se existem um ou mais caracteres dentro de uma String, utilizamos o método contains:
Note que o método contains faz distinção de letras maiúsculas e minúsculas. #### Contando quantos caracteres existem em uma String Utilizamos o método length:
Removendo caracteres duplicados em uma String
Podemos utilizar o método distinct para remover os caracteres duplicados:
Removendo caracteres de uma String
O método drop, permite que removamos da esquerda pra direita, uma certa quantidades de caracteres informada via parâmetro, vejamos:
Já o método dropRight, remove caracteres da direita pra esquerda:
Varrendo caracter a caracter em uma String
Podemos utilizar a estrutura foreach para varrermos caracter a caracter dentro de uma String:
Veja que o símbolo _, representa o caracter em questão. Podemos omití-lo também, pois o foreach irá entender da mesma forma:
Capturando o primeiro e último caracter de uma String
Utilizamos o método head para capturarmos o primeiro caracter. E o método last para o último:
Outros métodos
É isso ai galera! Esse post foi só uma introdução de como trabalhar com Strings, não irei abordar todos os métodos, até porque são vários… Para conhecer os métodos, bastar conferir a documentação oficial do Scala:
http://www.scala-lang.org/api/current/#scala.collection.mutable.StringBuilder
Até a próxima!