Método indexOf()
Como encontrar o índice de um caractere específico em uma String?
Para localizar o índice da primeira ocorrência de uma letra específica, a classe String fornece o método indexOf(). Este método é sobrecarga e possui várias implementações. Vamos entender o que cada uma delas faz:
indexOf(String str)
indexOf(String str) - neste método, o parâmetro especifica o que estamos procurando. Pode ser uma única letra entre aspas duplas (""), uma sequência de letras ou até mesmo uma palavra. Este método retorna o índice da primeira ocorrência do parâmetro especificado na string. Por exemplo, vamos encontrar o índice da letra "l" na string "Hello":
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }
No exemplo acima, inicializamos a variável index utilizando o método indexOf("l"). Agora, essa variável contém o índice da primeira ocorrência da letra "l" na string "Hello".
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex) - o primeiro parâmetro é o mesmo de antes, especificando o que estamos procurando.
O segundo parâmetro determina o índice inicial a partir do qual começamos a busca. Por exemplo, na palavra "Hello", existem 2 ocorrências da letra "l", e queremos encontrar o índice da segunda ocorrência. Pelo primeiro exemplo, sabemos que a primeira ocorrência está no índice 2, então vamos definir o parâmetro fromIndex como 3 e encontrar o índice do segundo "l":
Main.java
123456789101112131415package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }
No exemplo acima, foi adotada uma abordagem mais prática. Utilizou-se a localização da primeira ocorrência da letra especificada para buscar a segunda letra a partir do índice incrementado em 1. Dessa forma, a busca começa a partir do próximo índice após o índice da primeira ocorrência da letra ou conjunto de letras desejado.
Além disso, os parâmetros String str e int fromIndex podem ser intercambiados.
Também é importante observar que, se o método indexOf() não encontrar a letra ou conjunto de letras especificado, ele retornará o valor -1. Por exemplo:
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }
A busca pela letra "d" na string "Hello" não retornou nenhum resultado, e o método retornou -1. Isso pode ser útil para definir condições ou criar um ponto de saída em um loop.
Como encontrar o último índice na string
A classe String também possui um método que permite a busca a partir do final da string. Esse método é chamado de lastIndexOf(). Ele opera sob o mesmo princípio. Vamos considerar um exemplo de como encontrar a última ocorrência da letra "l" na string "Hello":
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }
Aqui, obtivemos o resultado 3, que representa o índice da última ocorrência da letra "l".
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.63
Método indexOf()
Deslize para mostrar o menu
Como encontrar o índice de um caractere específico em uma String?
Para localizar o índice da primeira ocorrência de uma letra específica, a classe String fornece o método indexOf(). Este método é sobrecarga e possui várias implementações. Vamos entender o que cada uma delas faz:
indexOf(String str)
indexOf(String str) - neste método, o parâmetro especifica o que estamos procurando. Pode ser uma única letra entre aspas duplas (""), uma sequência de letras ou até mesmo uma palavra. Este método retorna o índice da primeira ocorrência do parâmetro especificado na string. Por exemplo, vamos encontrar o índice da letra "l" na string "Hello":
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }
No exemplo acima, inicializamos a variável index utilizando o método indexOf("l"). Agora, essa variável contém o índice da primeira ocorrência da letra "l" na string "Hello".
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex) - o primeiro parâmetro é o mesmo de antes, especificando o que estamos procurando.
O segundo parâmetro determina o índice inicial a partir do qual começamos a busca. Por exemplo, na palavra "Hello", existem 2 ocorrências da letra "l", e queremos encontrar o índice da segunda ocorrência. Pelo primeiro exemplo, sabemos que a primeira ocorrência está no índice 2, então vamos definir o parâmetro fromIndex como 3 e encontrar o índice do segundo "l":
Main.java
123456789101112131415package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }
No exemplo acima, foi adotada uma abordagem mais prática. Utilizou-se a localização da primeira ocorrência da letra especificada para buscar a segunda letra a partir do índice incrementado em 1. Dessa forma, a busca começa a partir do próximo índice após o índice da primeira ocorrência da letra ou conjunto de letras desejado.
Além disso, os parâmetros String str e int fromIndex podem ser intercambiados.
Também é importante observar que, se o método indexOf() não encontrar a letra ou conjunto de letras especificado, ele retornará o valor -1. Por exemplo:
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }
A busca pela letra "d" na string "Hello" não retornou nenhum resultado, e o método retornou -1. Isso pode ser útil para definir condições ou criar um ponto de saída em um loop.
Como encontrar o último índice na string
A classe String também possui um método que permite a busca a partir do final da string. Esse método é chamado de lastIndexOf(). Ele opera sob o mesmo princípio. Vamos considerar um exemplo de como encontrar a última ocorrência da letra "l" na string "Hello":
Main.java
12345678910111213package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }
Aqui, obtivemos o resultado 3, que representa o índice da última ocorrência da letra "l".
Obrigado pelo seu feedback!