Qual método pode ser usado para retornar uma string em letras maiúsculas?

Neste tutorial de nossa seção de Strings em Python, vamos aprender a transformar uma string maiúscula em minúscula e vice-versa. Também aprenderemos como detectar se um caractere é maiúsculo ou minúsculo.

Leia também:

  • Obter certificado do curso (para trabalhar como programador Python)
  • Obter apostila Python Progressivo (download do PDF)

Transformar string em maiúscula ou minúscula: upper() e lower()

O método upper() recebe o valor de uma string e retorna ela mesma, mas com todos os caracteres em maiúscula.

Esse método faz parte dos objetos do tipo string.

Então para transformar uma string texto em maiúscula, fazemos: texto.upper()

Veja um exemplo:

texto = "Curso Python Progressivo"
print(texto)

texto = texto.upper()
print(texto)

Resultado:

Qual método pode ser usado para retornar uma string em letras maiúsculas?

O mesmo vale para transformar todos os caracteres da string em minúsculos, usando o método lower():

texto = "Curso Python Progressivo"
print(texto)

texto = texto.lower()
print(texto)

Teste e veja o resultado.

String toda em maiúscula ou minúscula: isupper() e islower()

Para detectar se uma string é toda maiúscula ou toda minúscula, usamos o método isupper() que retorna True se todos caracteres forem maiúsculos, e False se não forem.

Vamos testar se a string 'CURSO PYTHON PROGRESSIVO' é toda maiúscula:

Experimente colocar apenas uma letrinha em minúscula, e vai cair no ELSE.

Para saber se toda a string é minúscula, use o método islower(), que é semelhante.

Exercício de String em Python

Crie um script que peça uma string ao usuário e diga se:

Ela é toda maiúscula

Ela é toda minúscula

Tem caracteres maiúsculos e minúsculos

No primeiro teste condicional, verificamos se tudo é maiúsculo.

Se for, ok, avisa isso.

Se não for, cai no ELIF que vai testar se é tudo minúsculo.

Se for, avisa que é.

E por fim, se não for tudo maiúsculo ou tudo minúsculo, é porque ta misturado:

while True:
 texto = input("Digite uma string: ")

 if texto.isupper():
  print("Tudo maiusculo")
 elif texto.islower():
  print("Tudo minusculo")
 else:
  print("Misturado")

Voltar

Artigos Java String em Java: Entendendo e utilizando essa classe

Por que eu devo ler este artigo:A classe String � utilizada por toda a API do Java e por diversas vezes precisaremos dela em nossos c�digos. Isso faz com que o dom�nio dessa classe seja fundamental para todo aquele que deseja se tornar um programador Java. Aqui neste artigo falaremos sobre as principais caracter�sticas dessa classe com exemplos de c�digo e coment�rios.

Uma String armazena uma sequ�ncia de caracteres. Apesar de ser f�cil de utilizar, essa classe possui diversas caracter�sticas que podem n�o ser �bvias para quem est� tendo o seu primeiro contato com ela.

Por exemplo, um objeto String � imut�vel, o que significa que o texto que ele carrega nunca � alterado. Sempre que um texto precisa ser modificado � utilizado mais espa�o em mem�ria para que uma nova String seja criada contendo a nova vers�o dele. Essas caracter�sticas ser�o o assunto que abordaremos primeiro.

Como criar uma String

Para o compilador, qualquer texto entre aspas duplas � uma String. Por esse motivo a cria��o de um objeto desse tipo n�o requer a utiliza��o do operador new. Assim, uma String � criada de forma semelhante a um tipo primitivo, utilizando-se a sintaxe [tipo] [nome] = [valor], apesar de se tratar de um tipo por refer�ncia - um nome para um objeto em mem�ria.

O C�digo 1 apresenta a forma correta de se criar uma inst�ncia da classe String.


String texto = "Qualquer texto entre aspas � uma String";

C�digo 1. Cria��o de uma inst�ncia da classe String

Tamb�m n�o utilizamos o operador new porque ao faz�-lo for�amos a cria��o de uma nova String, anulando um recurso de otimiza��o da linguagem que evita que o mesmo texto exista mais de uma vez na mem�ria.

Por exemplo, no C�digo 2 criamos uma String utilizando o operador new, o que faz com que mais recursos sejam utilizados do que o necess�rio.


String texto = new String("Qualquer texto entre aspas � uma String");

C�digo 2. Declara��o de uma string utilizando o operador new

Toda a vez que o c�digo acima for executado uma nova String ser� criada contendo o texto "Qualquer texto entre aspas � uma String". Caso o C�digo 2 esteja dentro de um loop for repetido por mil vezes, mil objetos ser�o criados. Contudo, se o C�digo 1 estiver dentro de um loop for repetido por mil vezes, apenas um objeto ser� criado na primeira repeti��o e reutilizado em todas as demais. Lembre-se, para o Java qualquer texto entre aspas duplas � uma inst�ncia da classe String. A prova disso � que podemos escrever um texto entre aspas e invocar a partir dele um m�todo qualquer da classe String, como demonstra o C�digo 3.


"Qualquer texto entre aspas � uma String".length();

C�digo 3. Invocando um m�todo qualquer da classe String

Note acima que o texto n�o foi atribu�do a nenhuma vari�vel, mas ainda assim � um objeto plenamente funcional para o compilador, a partir do qual podemos invocar quaisquer m�todos da classe String.

O valor especial null

� poss�vel declarar uma vari�vel como sendo do tipo String sem inicializ�-la com um valor, como mostra o C�digo 4.

C�digo 4. Declara��o de uma string sem inicializa��o

Nesse caso, se a vari�vel texto for declarada dentro de uma classe, como membro, o valor padr�o null ser� atribu�do a ela, como vemos no C�digo 5.


class Pessoa {
    String nome;
}

class PessoaTeste {

    public static void main(String[] args) {
        Pessoa p = new Pessoa();
        System.out.println(p.nome);
    }
}

C�digo 5. String iniciada com o valor padr�o null

Quando a inst�ncia da classe Pessoa � criada na Linha 8, o valor padr�o null � atribu�do a vari�vel nome e por esse motivo o m�todo println exibir� o texto null no console, ao ser invocado na Linha 9.

Caso a vari�vel seja declarada dentro de um m�todo, como vari�vel local, um erro de compila��o acontecer� se desejarmos utiliz�-la, porque nenhuma vari�vel local pode ser utilizada sem ter sido iniciada. Isso tamb�m vale para par�metros de m�todos. O C�digo 6 demonstra esse comportamento.


class PessoaTeste {

    public static void main(String[] args) {
        String nome;
        System.out.println(nome);
    }
}

C�digo 6. Erro ao utilizar uma vari�vel local sem inici�-la

Quando a vari�vel nome for utilizada na Linha 5 ocorrer� um erro de compila��o informando que a vari�vel nome foi apenas declarada, mas n�o foi iniciada com nenhum valor.

Testando igualdade entre Strings

A compara��o entre Strings utilizando o operador de igualdade (==) retornar� true se as duas refer�ncias apontarem para o mesmo objeto na mem�ria.

Por exemplo, no C�digo 7 o texto "Nome e apelido s�o iguais" ser� impresso apenas porque nome e apelido apontam para o mesmo objeto criado quando o compilador encontra o texto "Arthur".


String nome = "Arthur";
String apelido = nome;

if(nome == apelido) {
    System.out.println("Nome e apelido s�o iguais");
}

C�digo 7. Exemplo de atribui��o de refer�ncias

O mesmo acontece no C�digo 8, no qual temos duas vezes a ocorr�ncia do literal "Arthur", os quais a JVM tratar� como sendo o mesmo objeto. Uma vez que nome e apelido apontam para o mesmo objeto, a express�o l�gica nome == apelido ser� avaliada como true.


String nome = "Arthur";
String apelido = "Arthur";

if (nome == apelido) {
    System.out.println("Nome e apelido s�o iguais");
}

C�digo 8. Exemplo de atribui��o de refer�ncias

Contudo, no caso abaixo o texto "Nome e apelido s�o iguais" n�o ser� impresso, visto que nome e apelido apontam para objetos diferentes, sendo o primeiro criado com o comando new String("Arthur") e o segundo com o literal "Arthur". Lembre-se, o operador new for�a a cria��o de um novo objeto.


String nome = new String("Arthur");
String apelido = "Arthur";

if (nome == apelido) {
    System.out.println("Nome e apelido s�o iguais");
}

C�digo 9. Exemplo de atribui��o de refer�ncias

Nesse caso, se invert�ssemos as linhas 1 e 2 o efeito seria o mesmo, porque new sempre for�a a cria��o de um novo objeto.

Na maior parte das vezes em que estivermos comparando dois textos estaremos interessados em saber se seus caracteres s�o iguais e n�o se est�o armazenados no mesmo espa�o em mem�ria. Nesse caso devemos utilizar algum m�todo de compara��o da classe String e ela possui v�rios. O primeiro que veremos aqui se chama equals.

Equals

Equals � um m�todo da classe Object utilizado para testar a rela��o de igualdade entre dois objetos. Esse m�todo est� presente em todas as classes, porque todas elas derivam de Object. A forma como essa compara��o ser� feita pode ser determinada por quem est� escrevendo a classe e no caso de String, seu autor preparou o m�todo equals (C�digo 10) para verificar se duas Strings cont�m exatamente os mesmos caracteres.


String nome1 = "Carlos";
String nome2 = "Carla";

if (nome1.equals(nome2)) {
    System.out.println("Os nomes s�o iguais!");
} else {
    System.out.println("Os nomes s�o diferentes!");
}

C�digo 10. Exemplo de compara��o com m�todo equals

Nesse caso a mensagem "Os nomes s�o diferentes!" ser� impressa, uma vez que nome1 cont�m uma sequencia de caracteres diferente de nome2.

equalsIgnoreCase

Esse m�todo ignora a distin��o entre letras mai�sculas e min�sculas nas duas strings comparadas.


String nome1 = "Carlos";
String nome2 = "carlos";
		
if(nome1.equalsIgnoreCase(nome2)) {
    System.out.println("Os nomes s�o iguais!"); 
}

C�digo 12. Exemplo do m�todo equalsIgnoreCase

Nesse novo exemplo os nomes s�o iguais, ent�o o m�todo equalsIgnoreCase retornar� true.

compareTo

Esse m�todo pode retornar 0 se as strings forem iguais, um n�mero negativo se a string que invoca o compareTo for menor que a string que � passada como um argumento e um n�mero positivo se a string que invoca o compareTo for maior que a string que � passada como argumento.

 
String nome1 = "Carlos";
String nome2 = "Carla";
		
System.out.println("nome2.compareTo(nome1) = "+nome2.compareTo(nome1));
System.out.println("nome1.compareTo(nome2) = "+nome1.compareTo(nome2));

C�digo 11. Exemplo do m�todo compareTo

Neste caso, compareTo vai nos dar um n�mero negativo no primeiro caso, porque Carla � menor que Carlos, e um n�mero positivo no segundo caso porque Carlos � maior que Carla.

compareToIgnoreCase

� uma fun��o que compara textos lexigraficamente, ignorando se as letras s�o mai�sculas ou min�sculas. No exemplo abaixo fazemos duas compara��es, uma utilizando compareTo e a outra usando compareToIgnoreCase para analisarmos as diferen�as.


String texto = "A API de Strings � uma das mais utilizadas na linguagem Java";
String linguagem = texto.substring(texto.indexOf("Java"), texto.length());

if (linguagem.compareToIgnoreCase("java") == 0) {
    System.out.println("compareToIgnoreCase: Encontrei a linguagem! Ela � " + linguagem);
}

if(linguagem.compareTo("java") == 0) {
    System.out.println("compareTo: Encontrei a linguagem! Ela � " + linguagem);
}

C�digo 12. Exemplo do m�todo equalsIgnoreCase

Ap�s a execu��o desse c�digo apenas a mensagem "compareToIgnoreCase: Encontrei a linguagem! Ela � Java" ser� impressa, uma vez que para compareTo os textos "JAVA" e "java" s�o diferentes.

Principais m�todos da classe String

A partir daqui listaremos os principais m�todos da classe String com exemplos comentados. Existem muitos m�todos nesta classe e aqui falaremos sobre os mais utilizados. Para uma lista completa deles recomendo a documenta��o da classe String no site oficial da documenta��o do Java.

Documenta��o oficial da classe String: Class String

concat

Existem duas formas de unir duas ou mais sequ�ncias de caracteres. A mais comum dentre elas � utilizando o operador de adi��o, como demonstra o C�digo 13.


String nomeCompleto = nome + sobrenome;

C�digo 13. Exemplo concatena��o de Strings

Uma outra forma de fazer isso � utilizando o m�todo concat. Isso � menos comum, mas ainda � poss�vel. O C�digo 14 ficaria dessa forma utilizando esse m�todo:


String nomeCompleto = nome.concat(sobrenome);

C�digo 14. Exemplo de concatena��o de Strings

Note que se o valor de nome for Carlos e sobrenome for Henrique, o resultado do c�digo acima ser� CarlosHenrique, porque n�o h� espa�o entre os dois textos.

String.valueOf

valueOf � um m�todo est�tico da classe String, que n�o precisa de uma inst�ncia para ser invocado. Ele converte um tipo primitivo em um objeto do tipo String. O C�digo 15 demonstra como utilizar esse m�todo.


public class Testa_Metodo_valueOf {
public static void main(String[] args) {
double numero = 102939939.939;
boolean booleano = true;

System.out.println("Retorna Valor : " + String.valueOf(numero));
System.out.println("Retorna Valor: " + String.valueOf(booleano));

C�digo 15. Exemplo do m�todo valueOf

Length

Retorna o comprimento do texto em uma String. No C�digo 16 � impresso o comprimento do texto.


String nomeCurso = "Java";

System.out.printf("\nTamanho da vari�vel nomeCurso: %d", nomeCurso.length());

C�digo 16. Exemplo do m�todo length

charAt

Retorna o caractere em uma localiza��o espec�fica em uma String. Esse m�todo possui um par�metro do tipo inteiro que � usado como �ndice, retornando a partir dessa posi��o inserida nesse par�metro. � importante lembrar que o �ndice sempre come�a a ser contado do n�mero 0 (zero) em diante. Sendo assim a posi��o do caractere a em Carlos � 1 e n�o 2, como se poderia deduzir.

Nesse novo exemplo, no C�digo 17, a mensagem "O caractere A est� na posi��o 1" ser� impressa, uma vez que o caractere A est� na posi��o 1 da cadeia de caracteres.


String nomeCurso = "JAVA";

if(nomeCurso.charAt(1) == �A�) {
    System.out.println(�O caractere A est� na posi��o 1�);
}

C�digo 17. Exemplo do m�todo charAt

getChars

Recupera um conjunto de caracteres de uma String. Esse m�todo possui os seguintes par�metros de entrada:

  • srcBegin � �ndice do primeiro caractere da string a ser copiada.
  • srcEnd - �ndice depois da �ltima string a ser copiada.
  • dst � O destino do array.
  • dstBegin � o in�cio do deslocamento no array de destino.


String nomeCurso = "Curso Java Web";
//� A DIFEREN�A DO 1� E 2� PAR�METRO DO M�TODO getChars
//SE DIMINUIR OS 2 O RESULTADO TEM QUE SER O MESMO INICIADO NO ARRAY
char[] numIndice = new char[7];

nomeCurso.getChars(2, 9, numIndice, 0);
System.out.print("Valores Copiados \n");
         
for(char caracter : numIndice) {
    System.out.print("["+caracter+"]");
}

System.out.println("\n\n Abaixo �ndice demonstrativo dos valores copiados\n");
         
int[] b = {0,1,2,3,4,5,6};
for(int i = 0; i < b.length; i++) {
    System.out.print("["+b[i]+"]");
}

C�digo 18. Exemplo do m�todo getChars

startsWith e endsWith

Os m�todos startsWith e endsWith aceitam uma string e um n�mero inteiro como argumentos, retornando um valor booleano que indica se a string inicia ou termina, respectivamente, com o texto informado a partir da posi��o dada.


String[] nomes = {"iniciado", "iniciando", "finalizado", "finalizando"};

for (String recebeNomes : nomes) {
    if (recebeNomes.startsWith("in"))
        System.out.printf("\"%s\" inicia com \"in\" \n", recebeNomes);
}

System.out.println();

for (String recebeNomes : nomes) {
    if (recebeNomes.startsWith("ici", 2))
        System.out.printf("\"%s\" inicia com \"ici\" na posi��o 2 \n", recebeNomes);
}

System.out.println();

for (String recebeNomes : nomes) {
    if (recebeNomes.endsWith("ado"))
        System.out.printf("\"%s\" termina com \"ado\" \n", recebeNomes);
}

C�digo 19. Exemplo dos m�todos startsWith e endsWith

indexOf e lastIndexOf

Permitem a localiza��o de caracteres e substrings especificados em strings.

indexOf

Localiza a primeira ocorr�ncia de um caractere em uma string. Se o m�todo localizar o caractere, � retornado o �ndice do caractere na String, caso contr�rio retorna -1. Existem duas vers�es do indexOf que procuram caracteres em uma String.

  • 1� vers�o � aceita um inteiro que � conhecido como o n�mero do �ndice na String.
  • 2� vers�o � aceita dois argumentos inteiros � o caractere e o �ndice inicial em que a pesquisa da String deve iniciar.

lastIndexOf

Localiza a �ltima ocorr�ncia de um caractere em uma string. O m�todo procura do fim da string em dire��o ao come�o, se encontrar o caractere � retornado o seu �ndice na string, caso contr�rio retorna -1. Existem duas vers�es do lastIndexOf que pesquisam por caracteres em uma string.

  • 1� vers�o � utiliza um inteiro do caractere.
  • 2� vers�o � aceita 2 argumentos � um inteiro de caractere e o �ndice a partir do qual iniciar a pesquisa de tr�s para frente.


String letras = "abcadefghijklmcopqrsdeftuvz";
//TESTA indexOf PARA LOCALIZAR UM CARACTERE EM UM STRING
System.out.printf("�ltimo 'c' est� localizado no index %d\n", letras.indexOf('c'));
System.out.printf("�ltimo 'a' est� localizado no index %d \n", letras.indexOf('a', 1));

//-1 N�O EXISTE
System.out.printf("'$' est� localizado no index %d\n\n", letras.indexOf('$'));

//TESTA lastIndexOf PARA LOCALIZAR UM CARACTERE EM UMA STRING
System.out.printf("�ltimo 'c' est� localizado no index %d\n", letras.lastIndexOf('c'));
System.out.printf("�ltimo 'a' est� localizado no index %d\n", letras.lastIndexOf('a', 5));
System.out.printf("�ltimo '$' est� localizado no index %d\n", letras.lastIndexOf('$'));

//TESTA indexOf PARA LOCALIZAR UMA SUBSTRING EM UMA STRING
System.out.printf("\"def\" est� localizado no index %d\n", letras.indexOf("def"));

//2 argumento string e outro o ponto inicial que come�ar� a pesquisa
System.out.printf("\"def\" est� localizado no index %d\n", letras.indexOf("def", 7)); 
System.out.printf("\"hello\" est� localizado no index %d\n\n", letras.indexOf("hello"));

C�digo 20. Exemplo dos m�todos indexOf e lastIndexOf

substring

Permite extrair substrings de strings e fornece 2 m�todos substring para permitir que um novo objeto seja criado copiando parte de um objeto string existente. Cada m�todo retorna um novo objeto desse tipo. Existem duas vers�es desse m�todo que s�o:

  • 1� vers�o � recebe um argumento do tipo inteiro, que especifica a partir de que caractere a c�pia deve come�ar. A substring retornada cont�m uma c�pia dos caracteres desde esse �ndice at� o �ltimo caractere na string.
  • 2� vers�o - recebe dois argumentos do tipo inteiro. A String retornada ser� composta pelo o primeiro argumento e se estende at� o caractere anterior ao segundo argumento. Portanto, o comprimento da String � "argumento_2 - argumento_1". Em outras palavras, voc� pode dizer que o primeiro argumento � inclusivo e o segundo argumento � exclusivo


String nome = "Jos� Silveira";
System.out.println("String : " + nome);

String substring = nome.substring(5);
System.out.println("String depois da 3� index: " + "["+substring+"]");

substring = nome.substring(1, 6);
System.out.println("Substring (1,6): " + "["+substring+"]");

C�digo 21. Exemplo do m�todo substring

replace

Retorna um novo objeto contendo a string original com um trecho especificado substitu�do por outra express�o indicada. Esse m�todo deixa a string original inalterada. A vers�o sobrecarregada do m�todo replace permite substituir substrings em vez de caracteres individuais.



String nome = "mesquita";
String nomeAlterado = nome.replace('e', 'o');
System.out.println(nomeAlterado);

C�digo 22. Exemplo do m�todo replace

toUpperCase

Retorna uma nova string com o conte�do da original convertido para letras mai�sculas, mantendo a original inalterada.

toLowerCase

De forma semelhante ao anterior, o toLowerCase retorna uma c�pia de uma string com todas as letras convertidas para min�sculo, mantendo a original inalterada.


String nomeA = "joaquina";
String nomeB = "Paulo";

System.out.println(nomeA.toUpperCase());
System.out.println(nomeB.toLowerCase());

C�digo 23. Exemplo dos m�todos toLowerCase e toUpperCase

trim

Gera um novo objeto string, removendo todos os caracteres de espa�o em branco que aparecem no in�cio ou no fim da string em que o m�todo opera. O m�todo retorna um novo objeto string contendo a string sem espa�o em branco inicial ou final. A string original permanece inalterada.

toCharArray

Cria um novo array de caracteres que cont�m uma c�pia dos caracteres da vari�vel apontada.


String s1 = "ol�";
String s2 = "TCHAU";
String s3 = " espa�os ";

System.out.println("s1 = "+ s1 + "\n" + "s2 = "+ s2 + "\n" + "s3 = "+s3);

//M�TODO REPLACE
System.out.printf("Replace 'l' por 'L' no s1: %s\n\n", s1.replace('l', 'L'));

//M�TODO UPPER E LOWERCASE
System.out.printf("s1.toUpperCase() = %s\n", s1.toUpperCase());
System.out.printf("s2.toUpperCase() = %s\n\n", s2.toLowerCase());

//M�TODO TRIM - REMOVE OS ESPA�OS
System.out.printf("s3 depois do trim = \"%s\"\n\n", s3.trim());

//CONVERTEU O ol� PARA CHAR
char[] charArray = s1.toCharArray(); 
System.out.printf("s1 como um caracter array = ");

for(char caracter : charArray) {
    System.out.print(caracter);
}

C�digo 24. Exemplo dos m�todos trim e toCharArray

Tecnologias:
  • Java
Voltar

Confira outros conte�dos:

Qual método pode ser usado para retornar uma string em letras maiúsculas?

Por Devmedia Em 2019

Como transformar uma string em maiúscula?

Para isso podemos utilizar as funções toupper e tolower, que fazem parte da biblioteca padrão da linguagem C. A função toupper recebe como parâmetro um caracter e retorna sua versão em maiúsculo enquanto a função tolower recebe um caracter como parâmetro e retorna sua versão em minúsculo.

Qual é a função que transforma todas as letras de uma string para maiúsculas?

toUpperCase() O método toUpperCase() retorna o valor da string original convertido em letras maiúsculas.

O que são métodos string?

Os métodos de string são uteis para procurar pedaços dentro de uma string, onde começa ou termina determinado pedaço, cortar uma string, trocar determinado conjunto de caracteres por outro, converter para maiúsculo ou minúsculo, concatenar strings e retornar o caractere de uma determinada posição seja ele normal ou ...

Como transformar uma string em minúscula?

toLowerCase() O método toLowerCase() retorna o valor da string que foi chamada convertido para minúsculo.