Funções de manipulação de objetos tipo String
String()
Descrisão:
É o construtor de objetos tipo string.
Sintase
String(val);
String(val, base);
Parametros
val – o valor que a string irá receber.
base – a base em que a string será interpretada.
Exemplos
void setup(){
Serial.begin(9600);
}
void loop(){
String stringTeste = String(255, BIN); //criando uma string com base
Serial.print(stringTeste +"\n"); //binaria
stringTeste = String(255, HEX); //criando uma string com base
Serial.print(stringTeste +"\n"); //hexadecimal
stringTeste = String("String teste"); //criando uma string de
Serial.print(stringTeste +"\n"); //de caracteres
stringTeste = String(255, DEC); //criando uma string com base
Serial.print(stringTeste +"\n"); //decimal
String stringTeste2 = String("Acabou..."); //criando uma nova string
Serial.print(stringTeste2);
while(1); //loop para impedir que o laço se repita
}
charAt()
Descrisão
Acessa os elementos da string individualmente.
Sintase
string.charAt(n)
Parametros
String – É o elemento a ser acessado
n – o número que corresponde a posição do elemento desejado na string. N inicia com o valor 0 (zero).
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String stringTeste = String("Testando"); //crinado uma nova string
Serial.print(stringTeste); //imprimindo a string
Serial.print("\n");
/****Imprimindo os caracteres individualmente****/
Serial.print(stringTeste.charAt(0));
Serial.print("\n");
Serial.print(stringTeste.charAt(1));
Serial.print("\n");
Serial.print(stringTeste.charAt(2));
Serial.print("\n");
Serial.print(stringTeste.charAt(3));
Serial.print("\n");
Serial.print(stringTeste.charAt(4));
Serial.print("\n");
Serial.print(stringTeste.charAt(5));
Serial.print("\n");
Serial.print(stringTeste.charAt(6));
Serial.print("\n");
Serial.print(stringTeste.charAt(7));
Serial.print("\n");
Serial.print(stringTeste.charAt(8));
while(1); //loop para impedir que o laço se repita
}
compareTo()
Descrisão
Compara duas string.
Sintaxe
string.compareTo(string2)
Parametros
string – string principal que chama a comparação
string2 – string que vai ser comparada com a principal
Returno
tipos de valores de retorno
valor < 0 - quando a string for diferente da string2
valor = 0 - Quando as strings forem iguais.
valor > 0 - Quando as string2 é igual a inicio da string.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string1 = String("Testando..."); //crinado uma nova string
String string2 = String("ando"); //crinado uma nova string
String string3 = String("Test"); //crinado uma nova string
String string4 = String("Testando..."); //crinado uma nova string
/* os valores desejados de retorno serao:
1º negativo
2º positivo
3º zero
*/
Serial.print(string1.compareTo(string2));
Serial.print("\n");
Serial.print(string1.compareTo(string3));
Serial.print("\n");
Serial.print(string1.compareTo(string4));
while(1); //loop para impedir que o laço se repita
}
concat()
Descrisão
Faz a junção de duas strings.
Sintaxe
string.concat(string2)
Parametros
string, string2 – strings que serão concatenadas.
Returno
Uma nova string resultante das duas strings originais. A string que realiza a chamada ao metodo concat() , será a que iniciará a nova string.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string1 = String("Test"); //crinado uma nova string
String string2 = String("ando"); //crinado uma nova string
Serial.print(string1); //imprimindo a string1
Serial.print("\n");
Serial.print(string2); //imprimindo a string2
Serial.print("\n");
//imprimindo a nova string resultante da concatenaçao
Serial.print(string1.concat(string2));
while(1); //loop para impedir que o laço se repita
}
endsWith()
Descrisão
Testa se uma string termina com os caracteres de outra string.
Sintaxe
string.endsWith(string2)
Parametros
string, string2 – strings que serão comparadas.
Returno
verdadeiro – se a string termina com a string2.
falso - se não ocorrer a igualdade.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Testando"); //crinado uma nova string
String string1 = String("Test"); //crinado uma nova string
String string2 = String("ando"); //crinado uma nova string
//imprimindo o resultado para a string1
if(!string.endsWith(string1)){
Serial.print("a string nao termina com a string1\n");
}
//imprimindo o resultado para a string2
if(string.endsWith(string2)){
Serial.print("a string termina com a string2\n");
}
while(1); //loop para impedir que o laço se repita
}
equals()
Descrisão
Testa se duas strings são iguais.
Sintaxe
string.equals(string2)
Parametros
string, string2 – strings que serão comparadas.
Returno
verdadeiro – se as strings são iguais.
falso - se não ocorrer a igualdade.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Testando"); //crinado uma nova string
String string1 = String("Testando"); //crinado uma nova string
String string2 = String("touca"); //crinado uma nova string
if(string.equals(string1)){
Serial.print("a string eh igual a string1\n");
}
if(!string.equals(string2)){
Serial.print("a string eh diferente da string2\n");
}
while(1); //loop para impedir que o laço se repita
}
equalsIgnoreCase()
Descrisão
Testa se duas strings são iguais. o teste não é case sensitive( ou seja não diferencia maiúsculo de menusculo).
Sintaxe
string.equalsIgnoreCase(string2)
Parametros
string, string2 – strings que serão comparadas.
Returno
verdadeiro – se as strings são iguais.
falso - se não ocorrer a igualdade.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Testando"); //crinado uma nova string
String string1 = String("TeStAnDo"); //crinado uma nova string
String string2 = String("touca"); //crinado uma nova string
String string3 = String("Testando"); //crinado uma nova string
if(string.equalsIgnoreCase(string1)){
Serial.print("a string eh igual a string1\n");
}
if(!string.equalsIgnoreCase(string2)){
Serial.print("a string eh diferente da string2 \n");
}
if(string.equalsIgnoreCase(string3)){
Serial.print("a string eh igual a string3\n");
}
while(1); //loop para impedir que o laço se repita
}
getBytes()
Descrisão
Testa se duas strings são iguais. o teste não é case sensitive( ou seja não diferencia maiúsculo de menusculo).
Sintaxe
string.getBytes(string2)
Parametros
string, string2 – strings que serão comparadas.
Returno
verdadeiro – se as strings são iguais.
falso - se não ocorrer a igualdade.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("touca"); //crinado uma nova string
byte buf[2];
string.getBytes(buf, 3);
Serial.print("a string original " + string);
Serial.print("\n");
Serial.print("a string copiada ");
Serial.print(buf[0]);
Serial.print(buf[1]);
if(!buf[2]){
Serial.print("\nsou o \\0 "); //o ultimo byte armazenado no buffer
// eh o contra barra zero
}
Serial.print("\n");
while(1); //loop para impedir que o laço se repita
}
indexOf()
Descrisão
Procura por uma string ou um caracter dentro de outra string e retorna o a posição do 1º valor encontrado. por padrão a busca é iniciada pela posição (0 )zero, mas pode ser iniciada por qualquer ponto.
Sintaxe
string.indexOf(val)
string.indexOf(val, from)
Parametros
string: A string onde ocorrerá a busca.
val: o caracter ou string à ser encontrado.
from: O índice de inicio da busca.
Returno
verdadeiro – se as strings são iguais.
falso - se não ocorrer a igualdade.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Carlos Touca"); //crinado uma nova string
Serial.print("a string: " + string);
Serial.print("\n");
Serial.print("a posicao da letra 'u' na string eh: ");
Serial.print(string.indexOf("u"));
Serial.print("\n");
Serial.print("a posicao da letra 'a' na string eh: ");
Serial.print(string.indexOf("a"));
Serial.print("\n");
Serial.print("a posicao da letra 'a' na string eh: ");
Serial.print(string.indexOf("a", 6));
Serial.print("\n");
Serial.print("a posicao da string 'Tou' na string eh: ");
Serial.print(string.indexOf("Tou"));
while(1); //loop para impedir que o laço se repita
}
length()
Descrisão
Procura por uma string ou um caracter dentro de outra string e retorna o a posição do 1º valor encontrado. por padrão a busca é iniciada pela posição (0 )zero, mas pode ser iniciada por qualquer ponto.
Sintaxe
string.indexOf(val)
string.indexOf(val, from)
Parametros
sem parametros de entrada
Returno
o numero de posicao da string
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Carlos Touca"); //crinado uma nova string
Serial.print("A string tem ");
Serial.print(string.length());
Serial.print(" posicoes\n");
while(1); //loop para impedir que o laço se repita
}
replace()
Descrisão
Sintaxe
string.replace(substring1, substring2)
Parametros
string: string onde ocorrerá a busca
substring1: string que será procurada
substring2: string que substituirá a string procurada.
Returno
Uma nova string com a troca realizada.
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("Carlos Touca"); //crinado uma nova string
String string1 = String("Touca"); //crinado uma nova string
String string2 = String("Arduino"); //crinado uma nova string
Serial.print("A string original "+ string);
Serial.print("\n");
Serial.print(string.replace(string1, string2));
while(1); //loop para impedir que o laço se repita
}
setCharAt()
Descrisão
Seta novos valores na string que chama o método.
Sintaxe
string.setCharAt(index, c)
Parametros
string: String onde os novos valores irão ser setados.
index: local onde será setado o novo valor.
c: O caracter correspondente ao novo valor.
Returno
sem retorno
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("CARLOS TOUCA"); //crinado uma nova string
Serial.print("A string original "+ string);
Serial.print("\n");
string.setCharAt(0, 'c');
string.setCharAt(7, 't');
Serial.print("Nova string " + string);
while(1); //loop para impedir que o laço se repita
}
startsWith()
Descrisão
Verifica se uma string começa com o valor de outra string.
Sintaxe
string.startsWith(string2)
Parametros
string - string que será verificada se começa com a string2
string2: string de verificação.
Returno
true: se a string iniciar com a string2
false: se a string não iniciar com a string2
Exemplo
void setup(){
Serial.begin(9600);
}
void loop(){
String string = String("TOUCA"); //crinado uma nova string
String string1 = String("TOU"); //crinado uma nova string
String string2 = String("CA"); //crinado uma nova string
Serial.print("A string original "+ string);
Serial.print("\n");
if(string.startsWith(string1)){
Serial.print("inicia com a string1");
}
if(!string.startsWith(string2)){
Serial.print("\nNao inicia com a string2");
}
while(1); //loop para impedir que o laço se repita
}