SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Programação Estruturada – Edécio Fernando Iepsen Manipulação de Strings Muitas das operações a serem realizadas sobre os dados utilizados por um programa referem-se a manipulação de cadeias de caracteres (strings), como validação de senhas, contagem de palavras, cópia de partes de um texto, etc. Uma cadeia de caracteres é uma seqüência de letras, algarismos ou símbolos (sinais de pontuação, parênteses, etc.). Cada caractere é uma informação e a cadeia de caracteres é um conjunto de informações. Portanto, os nossos programas além de lidar com números, podem também manipular textos, com os mesmos fluxos de programação trabalhados em algoritmos & lógica de programação. As linguagens permitem realizar diversas operações sobre strings, além disso, uma string pode ser tratada caracter por caracter. Em Java pode-se fazer isto através do método charAt(). Observe o exemplo: cidade = "Pelotas"; // ou cidade = new String("Pelotas"); System.out.print(cidade.charAt(0)); // vai exibir P Ou seja, o primeiro caracter é referenciado pela posição 0. Os seguintes métodos estão disponíveis na linguagem Java para manipulação de Strings. cidade.length() - Retorna a quantidade de caracteres armazenados em uma variável string. cidade.substring() - Exibe parte de uma string. cidade.substring(3) - Exibe a partir da posição inicial até o final da palavra. Exemplo: "otas" cidade.substring(0,2) – Exibe da posição inicial até a posição final (exceto). Exemplo: "Pe" Comparações de String cidade.equals(“Pelotas”) – verifica a igualdade cidade.equalsIgnoreCase(“Pelotas”) – igual sem diferenciar maiúsculas de minúsculas cidade.compareTo(“Pelotas”) – retorna um número inteiro, que pode ser: - zero se as palavras forem iguais - um número menor que zero se cidade for alfabeticamente menor que “Pelotas” - um número maior que zero se cidade for alfabeticamente maior que “Pelotas” Localização de caracteres cidade.indexOf(‘e’); – procura uma letra na palavra (retorna 1) cidade.indexOf(“Pel”); - procura uma substring na palavra (retorna 0) cidade.lastIndexOf(‘a’); – procura a partir do final da palavra (retorna 5) Obs.: Se não existir retorna -1 Pode-se ainda indicar a posição inicial da procura, acrescentando um segundo parâmetro ao indexOf(“palavra”, pos_inicial). cidade.replace('a', 'u') Exibe a string, substituindo a letra 'a' pela letra 'u'. cidade.toLowerCase(); Retorna a palavra em minúsculas. cidade.toUpperCase(); Retorna a palavra em maiúsculas. cidade.trim(); Retorna a palavra sem os espaços em branco no início e/ou no final da palavra. Obs.: Estes métodos não alteram o conteúdo da String, apenas o modificam para exibição ou para atribuição a uma outra variável. Java dispõe também do tipo StringBuffer que permite o uso de novos métodos (que alteram o conteúdo da variável). Conversão de Strings em Números Em alguns programas pode ser necessário converter um texto ou parte dele em número. Para isso, a linguagem Java dispõe dos métodos Integer.parseInt("string") e Float.parseFloat("string"). Observe os exemplos. idade = Integer.parseInt("10"); nota = Float.parseFloat("7.5"); // converte String para integer // converte String para float Dividindo uma string a partir de um caracter Com a Linguagem Java é possível dividir uma string em partes, através do método split. Para isso deve ser declarado um vetor de strings (sem tamanho). Observe o exemplo. String partes[], dados; dados = "João;23;Pelotas"; partes = dados.split(";"); System.out.print(partes[0]); - irá exibir "João" System.out.print(partes.length); - irá exibir 3 Obs.: O método .length, sem os parênteses, é utilizado para retornar o tamanho, número de elementos de um vetor.