Manipulación de cadenas en Java con EJEMPLO

⚔ Resumen inteligente

Manipulación de cadenas en Java Se basa en la clase String, que representa el texto como una matriz de caracteres, y proporciona métodos integrados como length, indexOf, charAt, compareTo, contains, replace y conversión de mayúsculas y minúsculas para procesar y transformar el texto de manera eficiente.

  • šŸ”¤ Conceptos bĆ”sicos de cadenas de caracteres: A Java String es una matriz de caracteres gestionada por la clase String, que extiende Object.
  • āž• Concatenación: Une cadenas usando el mĆ©todo concat() o el operador + para obtener el mismo resultado.
  • šŸ“ MĆ©todos de inspección: Las funciones length(), indexOf() y charAt() devuelven el tamaƱo, el Ć­ndice del carĆ”cter y el carĆ”cter en una posición determinada.
  • šŸ”Ž Comparación y bĆŗsqueda: Las funciones compareTo(), compareToIgnoreCase() y contains() comparan cadenas y comprueban si hay secuencias.
  • āœļø Transformación: Las funciones replace(), toLowerCase() y toUpperCase() modifican el contenido de la cadena y las mayĆŗsculas/minĆŗsculas.
  • šŸ”’ Inmutabilidad: Las cadenas de caracteres son definitivas e inmutables; la JVM las almacena en el grupo de constantes de cadenas.

Manipulación de cadenas en Java

¿Qué son las cadenas? Java?

Una cadena en términos literales es una serie de caracteres. Oye, ¿dijiste caracteres? ¿No es un tipo de datos primitivo en Java. Sí, en términos técnicos, lo bÔsico Java Una cadena es bÔsicamente una matriz de caracteres.

Entonces mi cadena anterior de "ROSE" se puede representar de la siguiente manera:

Java Cordón

¿Por qué utilizar cadenas?

Una de las funciones principales de la informƔtica moderna es procesar el lenguaje humano.

De forma similar a como los números son importantes para las matemÔticas, los símbolos del lenguaje son importantes para la comprensión y la toma de decisiones. Aunque no sea visible para los usuarios, las computadoras procesan el lenguaje en segundo plano con la misma precisión que una calculadora. Los cuadros de diÔlogo de ayuda proporcionan instrucciones. Los menús ofrecen opciones. Y las pantallas de datos muestran estados, errores y cambios en el lenguaje en tiempo real.

Como titular de Java Programador, una de sus principales herramientas para almacenar y procesar lenguaje serĆ” la clase String.

Ejemplos de sintaxis de cadenas

Ahora, pasemos a la sintaxis, después de todo, necesitamos escribir esto en Java código, ¿no es así?

Una cadena es una matriz de caracteres, representada como:

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

En tƩrminos tƩcnicos, la cadena se define de la siguiente manera en el ejemplo anterior:

= new (argument);

Ahora no siempre podemos escribir nuestras cadenas como matrices; por lo tanto podemos definir la Cadena en Java como sigue:

//Representation of String
String strSample_2 = "ROSE";

En tƩrminos tƩcnicos, lo anterior se representa como:

= ;

El Clase de cadena Java Se extiende <font dir="auto" style="vertical-align: inherit;">las </font> Clase de objeto.

Concatenación de cadenas:

La concatenación es la unión de dos o mÔs cadenas.

Eche un vistazo a la imagen de abajo.

Ejemplos de sintaxis de cadenas

Tenemos dos cadenas str1 = ā€œRocaā€ y str2 = ā€œEstrellaā€

Si sumamos estas dos cadenas, deberĆ­amos tener un resultado como str3= ā€œRockStarā€.

Consulta el siguiente fragmento de código, que explica los dos métodos para realizar la concatenación de cadenas.

Primero estĆ” usando ā€œconcatā€mĆ©todo de la clase String y el segundo usa el operador aritmĆ©tico ā€œ+ā€. Ambos resultados dan el mismo resultado.

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Rendimiento esperado:

RockStar
RockStar

Importante Java mƩtodos de cadena:

Java mƩtodos de cadena

Preguntemos al Java Encadene algunas preguntas a la clase y vea si puede responderlas:

MĆ©todo de ā€œlongitudā€ de cadena

¿Cómo determinarÔs la longitud de una cadena dada? He proporcionado un método llamado "length". Úsalo con la cadena cuya longitud necesitas encontrar.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Rendimiento esperado:

Length of String: 8

MƩtodo de cadena "indexOf"

Si conozco la longitud, ¿cómo puedo encontrar qué carÔcter estÔ en qué posición? En resumen, ¿cómo encontraré el índice de un personaje?

Tú mismo respondiste, amigo, hay un método "indexOf" que te ayudarÔ a determinar la ubicación de un carÔcter específico que especifiques.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Rendimiento esperado:

Character at position 5: t
Index of character 'S': 4

MƩtodo de cadena "charAt"

De manera similar a la pregunta anterior, dado el índice, ¿cómo puedo conocer el personaje en esa ubicación?

Ā”Otra vez muy simple! Utilice el mĆ©todo ā€œcharAtā€ y proporcione el Ć­ndice cuyo carĆ”cter necesita encontrar.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Rendimiento esperado:

Character at position 5: t

MƩtodo "Comparar con" de cadena

¿Quiero comprobar si el String que se generó mediante algún método es igual a algo con lo que quiero verificar? ¿Cómo comparo dos cadenas?

Utilice el mĆ©todo ā€œcompareToā€ y especifique la cadena que desea comparar.

Utilice "compareToIgnoreCase" en caso de que no desee que el resultado distinga entre mayĆŗsculas y minĆŗsculas.

El resultado tendrƔ el valor 0 si la cadena del argumento es igual a esta cadena; un valor menor que 0 si esta cadena es lexicogrƔficamente menor que el argumento de cadena; y un valor mayor que 0 si esta cadena es lexicogrƔficamente mayor que el argumento de la cadena.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Rendimiento esperado:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

MƩtodo de cadena "contener"

Sé parcialmente lo que debería haber contenido la cadena, ¿cómo puedo confirmar si la cadena contiene una secuencia de caracteres que especifico?

Utilice el mĆ©todo ā€œcontieneā€Y especifique los caracteres que necesita verificar.

Returns su verdadero si y sólo si esta cadena contiene la secuencia especificada de valores de caracteres.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Rendimiento esperado:

Contains sequence 'tar': true

MƩtodo de cadena "termina con"

¿Cómo confirmo si una Cadena termina con un sufijo particular? Nuevamente respondiste. Utilice el método "endsWith" y especifique el sufijo en los argumentos.

Returns su verdadero si la secuencia de caracteres representada por el argumento es un sufijo de la secuencia de caracteres representada por este objeto.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Rendimiento esperado:

EndsWith character 'r': true

MƩtodo de cadena "replaceAll" y "replaceFirst"

ĀæQuiero modificar mi String en varios lugares y reemplazar varias partes del String?

Java MƩtodos String Reemplazar, reemplazarTodos y reemplazarPrimeros. Puede especificar la parte de la Cadena que desea reemplazar y la Cadena de reemplazo en los argumentos.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Rendimiento esperado:

Replace 'Rock' with 'Duke': DukeStar

Cordón Java ā€œen minĆŗsculasā€ & Java MĆ©todo ā€œmayĆŗsculasā€

ĀæQuiero que toda mi cadena se muestre en minĆŗsculas o en mayĆŗsculas?

Simplemente use los mĆ©todos ā€œtoLowercase()ā€ o ā€œToUpperCase()ā€ contra las cadenas que deben convertirse.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Rendimiento esperado:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Puntos importantes a tener en cuenta:

  • String es una clase final; es decir, una vez creado, el valor no se puede modificar. Por tanto, los objetos String se denominan inmutables.
  • El Java La mĆ”quina virtual (JVM) crea una ubicación de memoria especialmente para cadenas llamada Pool constante de cadenas. Es por eso que String se puede inicializar sin la palabra clave "nueva".
  • La clase de cadena se incluye jerarquĆ­a java.lang.String. Pero no es necesario importar esta clase. Java La plataforma los proporciona automĆ”ticamente.
  • Cordón La referencia se puede anular pero eso no elimina el contenido.; es decir, si

Cadena h1 = "hola";

h1 = ā€œholaā€+ā€mundoā€;

entonces la cadena "hola" no se elimina. Simplemente pierde su control.

  • MĆŗltiples referencias se puede usar para la misma cadena pero lo harĆ” ocurrir en el mismo lugar; es decir, si

Cadena h1 = "hola";

Cadena h2 = "hola";

Cadena h3 = "hola";

entonces solo se crea un grupo para la cadena "hola" en la memoria con 3 referencias: h1, h2, h3

  • Si el nĆŗmero estĆ” citado en " " Entonces eso se convierte en una cuerda, ya no es un nĆŗmero. Eso significa si

Cadena S1 =ā€El nĆŗmero es: ā€œ+ ā€œ123ā€+ā€456″;

Sistema.out.println(S1);

luego imprimirĆ”: El nĆŗmero es: 123456

Si la inicialización es así:

Cadena S1 = ā€œEl nĆŗmero es: ā€œ+(123+456);

System.out.println(S1);

luego imprimirĆ”: El nĆŗmero es:579

”Eso es todo para Strings!

Preguntas Frecuentes

Java Las cadenas son inmutables por motivos de seguridad, protección de subprocesos y rendimiento. Dado que el valor no puede cambiar después de su creación, la JVM puede almacenar en caché de forma segura las cadenas en el grupo de constantes de cadena y compartir referencias.

In JavaEl operador == compara referencias a objetos, mientras que equals() compara el contenido real de caracteres de dos cadenas. Utilice equals() para comprobar si dos cadenas tienen el mismo valor.

String es inmutable, mientras que StringBuilder y StringBuffer son mutables. CadenaBuffer es seguro para subprocesos y sincronizado; StringBuilder es mÔs rÔpido pero no es seguro para subprocesos, lo que lo hace ideal para la manipulación de cadenas de un solo subproceso.

Los asistentes de codificación basados ​​en IA pueden generar código para el manejo de cadenas, sugerir los mĆ©todos adecuados, explicar expresiones regulares y detectar errores como punteros nulos o errores de Ć­ndice en las operaciones con cadenas.

Sí. Las herramientas de IA pueden escribir. Java El código limpia, formatea y transforma el texto utilizando métodos como replace, trim y conversión de mayúsculas y minúsculas, y luego explica cada paso para los estudiantes.

Resumir este post con: