Java >> Tutoriel Java >  >> Tag >> String

Comment supprimer un caractère d'une chaîne en Java

Parfois, nous devons supprimer un caractère d'une chaîne dans le programme Java. Mais la classe Java String n'a pas la méthode remove(). Alors, comment y parviendriez-vous ? Ce tutoriel Java vous montrera comment supprimer un caractère d'une chaîne. Voici quelques fonctions intégrées permettant de supprimer un caractère spécifique d'une chaîne.

  • fonction de remplacement
  • fonction deleteCharAt
  • fonction de sous-chaîne

Utiliser la fonction de remplacement pour supprimer un caractère d'une chaîne en Java

En Java, vous pouvez utiliser la fonction de remplacement pour supprimer un caractère spécifique d'une chaîne. La fonction de remplacement a deux paramètres :un pour le caractère à supprimer et un pour la chaîne vide. De plus, la fonction de remplacement remplace un caractère par une chaîne vide, ce qui entraîne la suppression d'un caractère spécifique fourni avec une chaîne vide. Voici un exemple d'utilisation de la fonction de remplacement de Java pour supprimer un caractère d'une chaîne.

public class CodeRemoveCharacter
{
    public static void main(String[] args)
    {
        String stringVar = "Hello Codeunderscored";
        System.out.println("The string before removing character: " + stringVar);
        MyString = stringVar.replace(" ", "");
        System.out.println("The string after removing character: " + stringVar);
    }
}

Nous supprimons l'espace entre Hello et Codeunderscored dans le code ci-dessus. L'espace blanc est transmis avec la chaîne vide, et l'espace blanc est remplacé par la chaîne vide, ou le texte Hello World est supprimé. Voici la sortie du code.

The String before removing character: Hello Codeunderscored
The String after removing character: HelloCodeunderscored

En regardant la classe String, nous devrons remplacer () les méthodes avec de nombreuses versions. Regardons les méthodes replace() surchargées dans la classe String.

replace(char oldChar, char newChar)

Remplace toutes les occurrences de oldChar dans cette chaîne par newChar et renvoie une chaîne.

replace(CharSequence target, CharSequence replacement)

Les sous-chaînes de cette chaîne qui correspondent à la séquence cible littérale sont remplacées par la séquence de remplacement littérale fournie.

replaceFirst(String regex, String replacement)

Remplace la première sous-chaîne de ce texte par le remplacement spécifié s'il correspond à l'expression régulière donnée.

replaceAll(String regex, String replacement)

Remplace chaque sous-chaîne de cette chaîne par le remplacement spécifié s'il correspond à l'expression régulière donnée. Alors pouvons-nous utiliser replace('x',"); ? Vous obtiendrez une erreur de compilation en tant que constante de caractère non valide si vous essayez ceci. Nous devrons donc utiliser d'autres méthodes de remplacement qui prennent String car nous pouvons spécifier "" comme chaîne vide à remplacer.

Exemple :caractère de suppression de chaîne Java

L'extrait de code ci-dessous montre comment supprimer toutes les occurrences d'un caractère d'une chaîne.

String str = "Codeunderscored";
String strNew = str.replace("C", ""); // strNew is 'odeunderscored'

Exemple :Java Supprimer la sous-chaîne de la chaîne

Regardons comment se débarrasser de la première instance de "ed" dans la chaîne.

String str = "Codeunderscored";
String strNew = str.replaceFirst("ed", ""); // strNew is 'Codeunderscor'

Notez le mot "replaceAll" et replaceFirst. Nous pouvons utiliser le premier argument de la première méthode, une expression régulière, pour supprimer un motif d'une chaîne. Le code ci-dessous supprime toutes les lettres minuscules de la chaîne.

String str = "Codeunderscored";
String strNew = str.replaceAll("([a-z])", ""); // strNew is 'C'

Exemple :Java Supprimer les espaces de la chaîne

String str = "Codeunderscored users use Java extensively";
String strNew = str.replace(" ", ""); //strNew is 'CodeunderscoredusersuseJavaextensively'

Utilisez la méthode deleteCharAt pour supprimer un caractère d'une chaîne en Java.

La classe StringBuilder a une fonction membre appelée deleteCharAt() qui est utilisée pour supprimer un caractère d'une chaîne en Java. Si nous voulons utiliser la méthode deleteCharAt pour supprimer un caractère spécifique d'une chaîne, nous devons d'abord savoir où se trouve ce caractère dans la chaîne.

La méthode deleteCharAt() récupère la position du caractère que nous souhaitons supprimer de la chaîne. Lorsque vous utilisez la méthode deleteCharAt pour supprimer un caractère d'une chaîne, nous devons savoir où se trouve ce caractère dans la chaîne. Voici un exemple d'utilisation de la fonction Java deleteCharAt pour supprimer un caractère d'une chaîne.

public class CodeRemoveCharacter
{
   public static void main(String[] args)
   {
        StringBuilder stringVar = new StringBuilder("Hello Codeunderscored");
        System.out.println("The string before removing character: " + stringVar);
        MyString = MyString.deleteCharAt(5);
        System.out.println("The string after removing character: " + stringVar);
   }
}

Nous éliminons l'espace entre Hello et Codeunderscored dans le code ci-dessus. Parce que l'index en Java commence à 0, nous passons l'emplacement de l'espace blanc, qui est 5, dans le texte Hello Codeunderscored. Voici la sortie du code.

The String before removing character: Hello Codeunderscored

The String after removing character: HelloCodeunderscored

Engagez la méthode de sous-chaîne pour la suppression d'un caractère d'une chaîne en Java

En Java, vous pouvez utiliser la méthode substring pour extraire un caractère d'une chaîne. Nous devons fournir la position de départ et la position avant le caractère de suppression à la méthode substring pour supprimer un caractère spécifique. La chaîne est ensuite concaténée à partir de l'emplacement de notre personnage dans la chaîne.

La méthode de sous-chaîne divise une chaîne en deux parties en fonction des index de début et de fin, puis concatène les deux parties en écrasant le caractère que nous voulons supprimer de la chaîne. Voici un exemple d'utilisation de la fonction de sous-chaîne de Java pour supprimer un caractère d'une chaîne.

public class CodeRemoveCharacter
{  
    public static void main(String[] args)
    {  
        String stringVar = "Hello Codeunderscored";
        int Position = 5;
        System.out.println("The string before removing character: " + stringVar);
        MyString = stringVar.substring(0,Position) + stringVar.substring(Position+1);
        System.out.println("The string after removing character: " + stringVar);  
    }

Nous éliminons l'espace entre Hello et Codeunderscored dans le code ci-dessus. Nous savons où se trouve l'espace blanc dans une variable avec une valeur de 5. En utilisant la méthode de sous-chaîne, nous divisons la chaîne Hello Codeunderscored de la 0e à la 5e position et concaténons les parties restantes de la chaîne à partir de la 6e position. Nous supprimons l'espace blanc du Hello Codeunderscored pour cette raison.

Voici la sortie du code.

The String before removing character: Hello Codeunderscored
The String after removing character: HelloCodeunderscored

Suppression du dernier caractère de la chaîne en Java

Bien que vous puissiez utiliser la méthode de sous-chaîne de chaîne, il n'existe aucune technique pour remplacer ou supprimer le dernier caractère d'une chaîne.

String strVar = "Hello Codeunderscored!";
String strNewVar = str.substring(0, strVar.length()-1); //strNewVar is 'Hello Codeunderscored'

Exemple :supprimer un caractère d'une chaîne en Java

Vous pouvez trouver la classe Java entière pour les exemples présentés ci-dessus ici.

package com.codeunderscored.examples;

public class JavaStringRemove {

	public static void main(String[] args) {
		String str = "CodeUNDERscored";

		System.out.println("String after Removing 'a' = "+str.replace("C", ""));
		
		System.out.println("String after replacing 'ed' = "+str.replaceFirst("ed", ""));

		System.out.println("String after replacing all small letters = "+str.replaceAll("([a-z])", ""));
	}

}

Voici la sortie du programme :

String after Removing 'C' = odeUNDERscored
String after Removing replacing 'ed' = odeUNDERscor
String after replacing all small letters = UNDER

Supprimer le début et le dernier caractère d'une chaîne en Java

L'objectif est de développer un programme Java qui supprime le début et le dernier caractère de la chaîne et imprime la chaîne modifiée, étant donné la chaîne str.

Input: str = "CodeUnderscored"
Output: odeUnderscore

Explication :

Le premier caractère de la chaîne donnée est "C" et le dernier caractère de la chaîne donnée est "d". Après avoir supprimé le premier et le dernier caractère de la chaîne, la chaîne devient "odeUnderscore".

Input: str = "JavaCode"
Output: avaCod

Explication :

Le premier caractère de la chaîne donnée est "J" et le dernier caractère de la chaîne donnée est "e". Après avoir supprimé le premier et le dernier caractère d'une chaîne, la chaîne devient "JavaCode".

Approche 1 :Utiliser la fonction String.substring()

Le but est d'éliminer le premier et le dernier caractère d'une chaîne à l'aide de la fonction substring() de la classe String. La méthode substring(int beginIndex, int endIndex) prend deux paramètres :l'index de début et l'index de fin.

Le caractère initial d'une chaîne apparaît à l'index zéro, tandis que le dernier caractère apparaît à la longueur d'index de String – 1. À l'aide de strVar.substring(1, strVar.length() – 1), extrayez la sous-chaîne en excluant le premier et le dernier caractère. Imprimez la chaîne mise à jour maintenant. Vous trouverez ci-dessous l'implémentation du code du concept illustré ci-dessus.

Exemple :Programme pour supprimer le premier et le dernier caractère d'une chaîne en Java

class Codeunderscored {

	// Function for removing both the initial and
	// the final character of a specified string

	public static String
	codeRemoveFirstandLast(String strVar)
	{

		// Removal of the initial and final character
		// in a string by using the method substring()

		strVar = strVar.substring(1, strVar.length() - 1);

		// Returns the string that has beed modified 
		return strVar;
	}

	// Driver Code
	public static void main(String args[])
	{
		// Given String strVar
		String strVar = "CodeUnderscored";

		// Print the modified string
		System.out.print(
			removeFirstandLast(strVar));
	}
}

Approche 2 :supprimer un caractère à l'aide de la méthode StringBuilder.deleteCharAt()

Le but est de supprimer le premier et le dernier caractère d'une chaîne à l'aide de la fonction deleteCharAt() de la classe StringBuilder. La méthode deleteCharAt() prend un index du caractère que vous souhaitez supprimer comme argument.

  • sBuffer.deleteCharAt(str.length() – 1) supprime le dernier caractère d'une chaîne.
  • À l'aide de sBuffer.deleteCharAt(0), supprimez le premier caractère d'une chaîne .

Vous devez maintenant imprimer la chaîne mise à jour. Voici comment la stratégie ci-dessus est mise en œuvre :

Exemple :Programme pour supprimer le premier et le dernier caractère d'une chaîne en Java

class Codeunderscored {

	// Function to remove the first and
	// the last character of a string
	public static String
	removeFirstandLast(String str)
	{

		// Creating a StringBuilder object
		StringBuilder sBuffer = new StringBuilder(str);

		// Removing the last character
		// of a string
		sBuffer.deleteCharAt(str.length() - 1);

		// Removing the first character
		// of a string
		sBuffer.deleteCharAt(0);

		// Converting StringBuilder into a string
		// and return the modified string
		return sBuffer.toString();
	}

	// Driver Code
	public static void main(String args[])
	{
		// Given String strVar
		String strVar = "CodeUnderscored";

		// Print the modified string
		System.out.println(
			removeFirstandLast(strVar));
	}
}

Approche 3 :supprimer un StringBuffer à l'aide de la méthode StringBuffer.delete()

Le but est de supprimer le premier et le dernier caractère d'une chaîne à l'aide de la méthode delete() de la classe StringBuffer. La méthode delete(start point, int endpoint) prend le point de départ et le point de terminaison et renvoie la chaîne après avoir supprimé la sous-chaîne créée par la plage des paramètres.

  • sBuffer.delete(strVar.length() – 1, strVar.length()) supprime le dernier caractère de la chaîne.
  • À l'aide de sBuffer.delete(0,1), supprimez le premier caractère de la chaîne .

Vous devez maintenant imprimer la chaîne mise à jour. Voici comment la stratégie ci-dessus est mise en œuvre :

Exemple :programme pour supprimer le premier et le dernier caractère d'une chaîne en Java
class Codeunderscored {

	// Function for removing the initial and
	// the final characters in a specified string

	public static String
	codeRemoveFirstandLast(String str)
	{

		// Creation of a StringBuffer object
		StringBuffer sBuffer = new StringBuffer(str);

		// Removal of the string's last character
		sBuffer
.delete(str.length() - 1, str.length());

		// Removing the first character
		// of a string
		sBuffer.delete(0, 1);

		// Converting StringBuffer into
		// string & return modified string
		return sBuffer.toString();
	}

	// Driver Code
	public static void main(String args[])
	{
		// Given String str
		String strVar = "CodeUnderscored";

		// Print the modified string
		System.out.println(
			removeFirstandLast(strVar));
	}
}
Exemple :supprimer un caractère particulier d'une chaîne
public class CodeRemoveChar {  
  public static void main(String[] args) {  
    String str = "Codeunderscored is my site";  
    System.out.println(charRemoveAt(str, 7));  
  }  
  public static String charRemoveAt(String str, int p) {  
    return str.substring(0, p) + str.substring(p + 1);  
  }  
}  

Exemple :Suppression d'une sous-chaîne de chaîne en Java

Prenons un exemple de suppression d'une sous-chaîne d'une chaîne.

String initialString = "Code in Python Java Spring Python";
System.out.println(initialString);
 
String finalString = s1.replace("Python", "");
System.out.println(finalString)

Conclusion

En Java, nous devons parfois supprimer des caractères d'une chaîne. Cependant, c'est impossible avec la méthode remove() de la classe String.

Un caractère peut être supprimé d'une chaîne de différentes manières, notamment au début, à la fin ou à un endroit défini. Pour supprimer un caractère spécifique d'une chaîne et le remplacer par une chaîne vide, utilisez la méthode replace(). De plus, les méthodes replace() de la classe Java String sont nombreuses. Ce dernier est essentiel pour aider à supprimer des caractères d'une chaîne. L'objectif est de remplacer la valeur par une chaîne vide.


Balise Java