Búsqueda de caracteres y substrings en una string en Java

Las strings son un aspecto muy importante desde la perspectiva de la programación, ya que muchas preguntas se pueden enmarcar entre strings. Surgen conjuntos muy variados de conceptos y preguntas que son fundamentales para comprender las strings. Ahora, aquí discutiremos diferentes formas de jugar con strings donde jugaremos con caracteres con strings y substrings que forman parte de las strings de entrada con la ayuda de métodos incorporados y también proponiendo una lista lógica de formas muy variadas de la siguiente manera: 

Búsqueda de un carácter en la string

Vía 1: indexOf(char c)

Busca el índice de caracteres especificados dentro de una string dada. Comienza a buscar desde el principio hasta el final de la string (de izquierda a derecha) y devuelve el índice correspondiente si lo encuentra; de lo contrario, devuelve -1. 

Nota: si la string dada contiene varias apariciones de un carácter específico, devuelve el índice de la única primera aparición del carácter especificado. 

Sintaxis: 

int indexOf(char c)
// Accepts character as argument, Returns index of 
// the first occurrence of specified character 

Vía 2: lastIndexOf(char c)

Comienza a buscar hacia atrás desde el final de la string y devuelve el índice de los caracteres especificados cada vez que los encuentra. 

Sintaxis: 

public int lastIndexOf(char c)
// Accepts character as argument, Returns an 
// index of the last occurrence specified 
// character

Forma 3: indexOf(char c, int indexFrom)

Comienza a buscar hacia adelante desde el índice especificado en la string y devuelve el índice correspondiente cuando se encuentra el carácter especificado; de lo contrario, devuelve -1. 

Nota: El índice devuelto debe ser mayor o igual que el índice especificado. 

Sintaxis: 

public int IndexOf(char c, int indexFrom)

Parámetros: 

  • El personaje a buscar
  • Un entero desde donde busca

Tipo de devolución: un índice de un carácter específico que apareció en o después del índice especificado en una dirección de reenvío.

Vía 4: lastIndexOf(char c, int fromIndex)

Comienza a buscar hacia atrás desde el índice especificado en la string. Y devuelve el índice correspondiente cuando se encuentra el carácter especificado; de lo contrario, devuelve -1. 

Nota: El índice devuelto debe ser menor o igual que el índice especificado. 

Sintaxis: 

public int lastIndexOf(char c, int fromIndex)

Vía 5: charAt(int indexNumber)

Devuelve el carácter existente en el índice especificado, indexNumber en la string dada. Si el número de índice especificado no existe en la string, el método genera una excepción no verificada, StringIndexOutOfBoundsException. 

Sintaxis:

char charAt(int indexNumber)

Ejemplo:

 

Java

// Java Program to Illustrate to Find a Character
// in the String
 
// Importing required classes
import java.io.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // String in which a character to be searched.
        String str
            = "GeeksforGeeks is a computer science portal";
 
        // Returns index of first occurrence of character.
        int firstIndex = str.indexOf('s');
        System.out.println("First occurrence of char 's'"
                           + " is found at : "
                           + firstIndex);
 
        // Returns index of last occurrence specified
        // character.
        int lastIndex = str.lastIndexOf('s');
        System.out.println("Last occurrence of char 's' is"
                           + " found at : " + lastIndex);
 
        // Index of the first occurrence of specified char
        // after the specified index if found.
        int first_in = str.indexOf('s', 10);
        System.out.println("First occurrence of char 's'"
                           + " after index 10 : "
                           + first_in);
 
        int last_in = str.lastIndexOf('s', 20);
        System.out.println("Last occurrence of char 's'"
                           + " after index 20 is : "
                           + last_in);
 
        // gives ASCII value of character at location 20
        int char_at = str.charAt(20);
        System.out.println("Character at location 20: "
                           + char_at);
 
        // Note: If we uncomment it will throw
        // StringIndexOutOfBoundsException
        // char_at = str.charAt(50);
    }
}
Producción

First occurrence of char 's' is found at : 4
Last occurrence of char 's' is found at : 28
First occurrence of char 's' after index 10 : 12
Last occurrence of char 's' after index 20 is : 15
Character at location 20: 111

 Forma 6: Buscar substring en la string

Los métodos utilizados para buscar un carácter en la string que se mencionan anteriormente también se pueden usar para buscar la substring en la string. 

Ejemplo

Java

// Java Program to illustrate to Find a Substring
// in the String
 
// Importing required classes
import java.io.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // A string in which a substring
        // is to be searched
        String str
            = "GeeksforGeeks is a computer science portal";
 
        // Returns index of first occurrence of substring
        int firstIndex = str.indexOf("Geeks");
 
        System.out.println("First occurrence of char Geeks"
                           + " is found at : "
                           + firstIndex);
 
        // Returns index of last occurrence
        int lastIndex = str.lastIndexOf("Geeks");
        System.out.println(
            "Last occurrence of char Geeks is"
            + " found at : " + lastIndex);
 
        // Index of the first occurrence
        // after the specified index if found
        int first_in = str.indexOf("Geeks", 10);
        System.out.println("First occurrence of char Geeks"
                           + " after index 10 : "
                           + first_in);
 
        int last_in = str.lastIndexOf("Geeks", 20);
        System.out.println("Last occurrence of char Geeks "
                           + "after index 20 is : "
                           + last_in);
    }
}
Producción

First occurrence of char Geeks is found at : 0
Last occurrence of char Geeks is found at : 8
First occurrence of char Geeks after index 10 : -1
Last occurrence of char Geeks after index 20 is : 8

Vía 7: contiene (CharSequence seq): devuelve verdadero si la string contiene la secuencia especificada de valores de caracteres; de lo contrario, devuelve falso. Sus parámetros especifican la secuencia de caracteres a buscar y lanzan NullPointerException si seq es nulo. 

Sintaxis: 

public boolean contains(CharSequence seq)

Nota: CharSequence es una interfaz implementada por la clase String, por lo tanto, usamos string como argumento en el método contains(). 

Ejemplo 

Java

// Java Program to Illustrate How to Find a Substring
// in the String using contains() Method
 
// Importing required classes
import java.io.*;
import java.lang.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // String in which substring
        // to be searched
        String test = "software";
 
        CharSequence seq = "soft";
        boolean bool = test.contains(seq);
        System.out.println("Found soft?: " + bool);
 
        // Returns true substring if found.
        boolean seqFound = test.contains("war");
        System.out.println("Found war? " + seqFound);
 
        // Returns true substring if found
        // otherwise return false
        boolean sqFound = test.contains("wr");
        System.out.println("Found wr?: " + sqFound);
    }
}
Producción

Found soft?: true
Found war? true
Found wr?: false

 Vía 8: Coincidencia de inicio y final de string 

  • boolean comienza con (String str): devuelve verdadero si la string str existe al comienzo de la string dada, de lo contrario, es falso.
  • boolean comienza con (String str, int indexNum): devuelve verdadero si la string str existe al comienzo del índice indexNum en la string dada, de lo contrario, false.
  • booleano termina con (String str): devuelve verdadero si la string str existe al final de la string dada, de lo contrario, es falso.

Ejemplo:

Java

// Java Program to Match ofstart and endof a Substring
 
// Importing required classes
import java.io.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Input string in which substring
        // is to be searched
        String str
            = "GeeksforGeeks is a computer science portal";
 
        // Print and display commands
        System.out.println(str.startsWith("Geek"));
        System.out.println(str.startsWith("is", 14));
        System.out.println(str.endsWith("port"));
    }
}
Producción

true
true
false

Este artículo es una contribución de Nitsdheerendra . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *