Comandos de manipulação de String

 

 

**-- FUNÇÃO QUE RETORNA UM CARACTER DE UM TEXTO --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.charAt(0)); // Imprime na serial "S"
Serial.println(texto[1]); // Imprime na serial "i"
RESULTADO: "Si"

 

**-- FUNÇÃO QUE MODIFICA UM CARACTER --**
String texto = "Site www.fe-vf.com";
texto.setCharAt(4,'_'); // Inseri o caracter "_" na posição 4
texto[5] = 'W'; // Inseri o caracter "W" na posição 5
Serial.println(texto);
RESULTADO: "Site www.fe-vf.com"

 

**-- FUNÇÃO DE PROCURA, RETORNA À PRIMEIRA OCORRÊNCIA --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.indexOf("w")); // Procura no texto o "w"
RESULTADO: "5"

 

**-- FUNÇÃO DE PROCURA, RETORNA À PRIMEIRA OCORRÊNCIA A PARTIR DE UM ÍNDICE EXPECÍFICO --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.indexOf("f",10)); // Procura no texto o primeiro "f" a partir da posição 10
RESULTADO: "13"

 

**-- FUNÇÃO DE PROCURA, RETORNA À ÚLTIMA OCORRÊNCIA --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.lastIndexOf("w")); // Procura no texto o ultimo "w"
RESULTADO: "7"

 

**-- FUNÇÃO DE PROCURA, RETORNA À ÚLTIMA OCORRÊNCIA ATÉ A POSIÇÃO DEFINIDA --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.lastIndexOf(".", 9)); // Procura no texto o ultimo "." até o indice 9
RESULTADO: "8"

 

**-- RETIRAR UM PEDAÇO DO TEXTO DE UMA STRING --**
String texto = "Site www.fe-vf.com";
Serial.println(texto.substring(9,14)); // Retira o texto entre os indices 8 a 14
RESULTADO: "fe-vf" // Primeiro parametro incluido segundo não

 

**-- CONVERTE STRING EM INTEIRO --**
String texto = "10.7";
Serial.println(texto.toInt()); // Converte o número contido na string em número inteiro
RESULTADO: 10

 

**-- CONVERTE STRING EM PONTO FLUTUANTE --**
String texto = "10.7";
Serial.println(texto.toFloat()); // Converte o número contido na string em número float
RESULTADO: 10.70

 

**-- CONVERTE STRING EM PONTO FLUTUANTE COM 4 CASAS DECIMAIS --**
String texto = "10.75775";
Serial.println(texto.toFloat(),4); // Converte o número contido na string em número float
RESULTADO: 10.7578 // com 4 casas decimais e com arredondamento

 

**-- CONVERTE ARRAY EM STRING --**
char frase[20]; // array com vinte posições
String texto = ""; // variavel texto vazia
texto = frase;
RESULTADO: o conteúdo do array "frase" é copiado para a string "texto"

 

**-- COPIA UM ARRAY PARA OUTRO ARRAY --**
char frase[] = "www.fe-vf.com"; // array com doze posições
char frase2[] = "             "; // array com doze posições
void setup() {
Serial.begin(9600);
}
void loop() {
for(int f = 0; f <= 12; f++){
frase2[f] = frase[f];
}
Serial.println(frase2);
delay(2000);
}

 

**-- CONVERTER TEXTO EM LETRAS MAIÚSCULAS --**
String texto = "Site www.fe-vf.com";
texto.toUpperCase();
Serial.println(texto);
RESULTADO: "SITE WWW.FE-VF.COM"

 

**-- CONVERTER TEXTO EM LETRAS MINÚSCULAS --**
String texto = "Site www.fe-vf.com";
texto.toLowerCase();
Serial.println(texto);
RESULTADO: "site www.fe-vf.com"

 

**-- CONVERTE INTEIRO PARA STRING E DEPOIS PARA ARRAY --**
char texto[7]; // array com sete posições
int valor = 759; // variável tipo inteiro
texto[4] = String(valor).charAt(0);
RESULTADO = texto = " 7 " // pega o número 7 do VALOR e salva na posição 4 do TEXTO

texto[0] = String(valor).charAt(2);
RESULTADO: texto = "9 " // pega o número 9 do VALOR e salva na posição 0 do TEXTO

 

**-- CONVERTER PARA STRING, UM VALOR INTEIRO, BINÁRIO E HEXADECIMAL --**
String texto = "";
int numero_A = 255;
float numero_B = 567.2597;


texto = String(numero_A);
Serial.print("Inteiro para string : ");
Serial.println(texto);
RESULTADO: "255"

texto = String(numero_A, BIN);
Serial.print("Inteiro para binario : ");
Serial.println(texto);
RESULTADO: "11111111"

texto = String(numero_A, HEX);
Serial.print("Inteiro para hexadecimal : ");
Serial.println(texto);
RESULTADO: "ff"

texto = String(numero_B, 4); // com 4 casas decimais
Serial.print("float para string : ");
Serial.println(texto);
RESULTADO: "567.2597"

 

**-- MODIFICAR UM TEXTO, ONDE ENCONTRAR, SERÁ MODIFICADO --**
String texto = "Site www.fe-vf.com";
texto.replace("Site", "Meu site é"); // Procura por "Site" e substitui por "Meu site é"
Serial.println(texto);
RESULTADO: "Meu site é www.fe-vf.com"

 

**-- REMOVER UMA PARTE DO TEXTO --**
String texto = "Site www.fe-vf.com";
texto.remove(0, 5); // Remove do texto a parte de 0 até 5
Serial.println(texto);
RESULTADO: "www.fe-vf.com"

 

**-- REMOVER TEXTO DO ÍNDICE PARA FRENTE --**
String texto = "Site www.fe-vf.com";
texto.remove(4);
Serial.println(texto);
RESULTADO: "Site"

 

**-- REMOVER ESPAÇOS NO INÍCIO E NO FIM DO TEXTO --**
String texto = " Site www.fe-vf.com ";
texto.trim();
Serial.println(texto);
RESULTADO: "Site www.fe-vf.com"

 

**-- DEFINIR TAMANHO DO TEXTO JUSTIFICANDO À DIREITA --**
String direita(String texto, int tamanho, char caractere = ' ');

void setup() {
Serial.begin(9600);

String texto = "12345";
Serial.println(texto);

Serial.print("Ex direita");
Serial.print("|");
Serial.print(direita(texto,8));
Serial.println("|");

}
String direita(String texto, int tamanho, char caractere){
if (texto.length() > tamanho){
return texto.substring(texto.length() - tamanho, texto.length());
}else{
return clonar(caractere, tamanho - texto.length()) + texto;
}
}
String clonar(char caractere, int vezes){
String temp;
for(int nL=0; nL < vezes; nL++){
temp += caractere;
}
return temp;
}

 

**-- DEFINIR TAMANHO DO TEXTO JUSTIFICANDO À ESQUERDA --**
String esquerda( String texto, int tamanho, char caractere = ' ' );

void setup() {
Serial.begin(9600);

String texto = "12345";
Serial.println(texto);

Serial.print("Ex esquerda");
Serial.print("|");
Serial.print(esquerda(texto,8));
Serial.println("|");

}
String esquerda( String texto, int tamanho, char caractere) {
if (texto.length() > tamanho) {
texto.remove( tamanho );
return texto;
} else {
return texto + clonar( caractere, tamanho - texto.length() );
}
}
String clonar(char caractere, int vezes){
String temp;
for(int nL=0; nL < vezes; nL++){
temp += caractere;
}
return temp;
}

 

**-- JUSTIFICAR TEXTO À DIREITA COM ZEROS A ESQUERA --**
String zeros( String texto, int tamanho );

void setup() {
Serial.begin(9600);

String texto = "12345";
Serial.println(texto);

Serial.print("Ex zeros");
Serial.print("|");
Serial.print(zeros(texto,8));
Serial.println("|");

}
String zeros( String texto, int tamanho ) {
return direita( texto, tamanho, '0');
}
String direita( String texto, int tamanho, char caractere) {
if (texto.length() > tamanho) {
return texto.substring( texto.length() - tamanho, texto.length() );
} else {
return clonar( caractere, tamanho - texto.length() ) + texto;
}
}
String clonar(char caractere, int vezes){
String temp;
for(int nL=0; nL < vezes; nL++){
temp += caractere;
}
return temp;
}

 

**-- CLONAR UM CARACTER --**
String clonar( char caractere, int vezes );

void setup() {
Serial.begin(9600);

String texto = "12345";
Serial.println(texto);

Serial.print("Ex clonar");
Serial.print("|");
Serial.print(clonar('x', 8));
Serial.println("|");

}
String clonar(char caractere, int vezes){
String temp;
for(int nL=0; nL < vezes; nL++){
temp += caractere;
}
return temp;
}

 

**-- LER O TAMANHO DE UM TEXTO --**
String texto = "abcdefghijkl";
Serial.println(texto.length());
RESULTADO: "12"

 

**-- CONCATENAR TEXTOS --**
String texto_a = "www.";
String texto_b = "fe-vf.com";
texto_a.concat(texto_b);
Serial.println(texto_a);
OU
texto_a = texto_a + texto_b;
Serial.println(texto_a);
OU
texto_a += texto_b;
Serial.println(texto_a);
RESULTADO = "www.fe-vf.com"
OU
texto_a = texto_a + texto_b + " " + 2021;
Serial.println(texto_a);
RESULTADO:"www.fe-vf.com 2021"