Java >> Java tutorial >  >> Tag >> String

Sådan fjerner du tegn fra streng i Java

Nogle gange er vi nødt til at fjerne et tegn fra en streng i java-programmet. Men java String-klassen har ikke remove()-metoden. Så hvordan ville du opnå dette? Denne Java-tutorial viser dig, hvordan du fjerner et tegn fra en streng. Følgende er nogle indbyggede funktioner til at fjerne et bestemt tegn fra en streng.

  • erstat funktion
  • deleteCharAt-funktion
  • understrengsfunktion

Anvend erstatningsfunktionen til at fjerne et tegn fra en streng i Java

I Java kan du bruge erstatningsfunktionen til at fjerne et bestemt tegn fra en streng. Erstatningsfunktionen har to parametre:en for tegnet, der skal fjernes, og en for den tomme streng. Erstat-funktionen erstatter også et tegn med en tom streng, hvilket resulterer i fjernelse af et specifikt tegn, der er leveret sammen med en tom streng. Det følgende er et eksempel på brug af Javas erstatningsfunktion til at fjerne et tegn fra en streng.

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);
    }
}

Vi sletter mellemrummet mellem Hello og Codeunderscored i koden ovenfor. Hvidt mellemrum sendes sammen med den tomme streng, og det hvide mellemrum erstattes med den tomme streng, eller Hello World-teksten fjernes. Følgende er kodens output.

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

Ser vi på String-klassen, bliver vi nødt til at erstatte()-metoder med mange versioner. Lad os se på de overbelastede replace()-metoder i String-klassen.

replace(char oldChar, char newChar)

Erstatter alle forekomster af oldChar i denne streng med newChar og returnerer en streng.

replace(CharSequence target, CharSequence replacement)

Denne strengs understrenge, der matcher den bogstavelige målsekvens, erstattes med den medfølgende bogstavelige erstatningssekvens.

replaceFirst(String regex, String replacement)

Erstatter den første understreng af denne tekst med den angivne erstatning, hvis den matcher det givne regulære udtryk.

replaceAll(String regex, String replacement)

Erstatter hver understreng af denne streng med den angivne erstatning, hvis den matcher det givne regulære udtryk. Så kan vi bruge replace('x',");? Du vil få en kompileringsfejl som en ugyldig tegnkonstant, hvis du prøver dette. Så vi bliver nødt til at bruge andre erstatningsmetoder, der tager String, fordi vi kan angive "" som tom String, der skal erstattes.

Eksempel:Java-streng Fjern tegn

Kodestykket nedenfor viser, hvordan man sletter alle forekomster af et tegn fra en streng.

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

Eksempel:Java Fjern understreng fra streng

Lad os se på at slippe af med den første forekomst af "ed" i strengen.

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

Læg mærke til ordet "erstatAlle" og replaceFirst. Vi kan bruge den første metodes første argument, et regulært udtryk, til at slette et mønster fra en streng. Koden nedenfor fjerner alle små bogstaver fra strengen.

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

Eksempel:Java Fjern mellemrum fra streng

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

Brug deleteCharAt-metoden til at fjerne et tegn fra en streng i Java.

StringBuilder-klassen har en medlemsfunktion kaldet deleteCharAt(), der bruges til at fjerne et tegn fra en streng i Java. Hvis vi vil bruge deleteCharAt-metoden til at fjerne et specifikt tegn fra en streng, skal vi først vide, hvor det tegn er i strengen.

Metoden deleteCharAt() henter karakterens position, vi ønsker at fjerne fra strengen. Når du bruger deleteCharAt-metoden til at fjerne et tegn fra en streng, skal vi vide, hvor det tegn er i strengen. Det følgende er et eksempel på brug af Javas deleteCharAt-funktion til at fjerne et tegn fra en streng.

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);
   }
}

Vi fjerner det hvide mellemrum mellem Hello og Codeunderscored i ovenstående kode. Fordi indekset i Java starter ved 0, passerer vi placeringen af ​​det hvide mellemrum, som er 5, i teksten Hello Codeunderscored. Følgende er kodens output.

The String before removing character: Hello Codeunderscored

The String after removing character: HelloCodeunderscored

Aktivér understrengsmetoden til fjernelse af et tegn fra en streng i Java

I Java kan du bruge understrengmetoden til at udtrække et tegn fra en streng. Vi skal angive startpositionen og positionen før slettetegnet til substring-metoden for at fjerne et specifikt tegn. Strengen er derefter sammenkædet fra vores karakters placering i strengen.

Understrengmetoden opdeler en streng i to dele baseret på start- og slutindekset, og sammenkæder derefter de to dele ved at overskrive det tegn, vi vil fjerne fra strengen. Det følgende er et eksempel på brug af Javas understrengfunktion til at slette et tegn fra en streng.

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);  
    }

Vi fjerner det hvide mellemrum mellem Hello og Codeunderscored i koden ovenfor. Vi ved, hvor det hvide mellemrum er i en variabel med en værdi på 5. Ved hjælp af substring-metoden opdeler vi Hello Codeunderscored-strengen fra 0. til 5. position og sammenkæder de resterende dele af strengen fra 6. position. Vi fjerner det hvide mellemrum fra Hello Codeunderscored på grund af dette.

Følgende er kodens output.

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

Fjernelse af strengens sidste tegn i Java

Selvom du kan bruge streng-understrengsmetoden, er der ingen teknik til at erstatte eller fjerne det sidste tegn fra en streng.

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

Eksempel:Fjernelse af et tegn fra en streng i Java

Du kan finde hele Java-klassen for eksemplerne præsenteret ovenfor her.

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])", ""));
	}

}

Følgende er output fra programmet:

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

Fjern begyndelsen og sidste tegn i en streng i Java

Målet er at udvikle et Java-program, der fjerner begyndelsen og sidste tegn i strengen og udskriver den ændrede streng, givet strengen str.

Input: str = "CodeUnderscored"
Output: odeUnderscore

Forklaring:

Den givne strengs første tegn er 'C', og det sidste tegn i den givne streng er 'd'. Efter at have fjernet strengens første og sidste tegn, bliver strengen "odeUnderscore".

Input: str = "JavaCode"
Output: avaCod

Forklaring:

Den givne strengs første tegn er 'J', og det sidste tegn i den givne streng er 'e'. Efter at have fjernet det første og sidste tegn i en streng, bliver strengen "JavaCode".

Fremgangsmåde 1:Brug String.substring()-funktionen

Målet er at eliminere det første og sidste tegn i en streng ved hjælp af String-klassens substring()-funktion. Metoden understreng (int beginIndex, int endIndex) tager to parametre:startindekset og slutindekset.

Det indledende tegn i en streng vises ved indeks nul, hvorimod det sidste tegn vises ved indekslængden af ​​String – 1. Brug strVar.substring(1, strVar.length() – 1 til at udtrække understrengen uden det første og sidste tegn. Udskriv den opdaterede streng nu. Nedenfor er kodeimplementeringen af ​​konceptet illustreret ovenfor.

Eksempel:Program til at fjerne det første og det sidste tegn i en streng i 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));
	}
}

Fremgangsmåde 2:Slet et tegn ved hjælp af StringBuilder.deleteCharAt()-metoden

Målet er at fjerne det første og sidste tegn i en streng ved hjælp af StringBuilder-klassens deleteCharAt()-funktion. Metoden deleteCharAt() tager et indeks over det tegn, du vil fjerne, som et argument.

  • sBuffer.deleteCharAt(str.length() – 1) sletter det sidste tegn i en streng.
  • Brug sBuffer.deleteCharAt(0), og fjern det første tegn i en streng .

Du skal nu udskrive den opdaterede streng. Følgende er, hvordan ovenstående strategi omsættes til handling:

Eksempel:Program til at fjerne det første og det sidste tegn i en streng i 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));
	}
}

Fremgangsmåde 3:Slet en StringBuffer ved hjælp af StringBuffer.delete()-metoden

Målet er at fjerne det indledende og sidste tegn i en streng ved hjælp af StringBuffer-klassens delete()-metode. Metoden delete(startpunkt, int slutpunkt) tager startpunktet og slutpunktet og returnerer strengen efter sletning af understrengen, der er oprettet af parametrenes område.

  • sBuffer.delete(strVar.length() – 1, strVar.length()) fjerner strengens sidste tegn.
  • Brug sBuffer.delete(0,1) og fjern det første tegn i strengen.

Du skal nu udskrive den opdaterede streng. Følgende er, hvordan ovenstående strategi omsættes til handling:

Eksempel:Program til at fjerne det første og det sidste tegn i en streng i 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));
	}
}
Eksempel:Fjernelse af et bestemt tegn fra en streng
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);  
  }  
}  

Eksempel:Fjernelse af understreng fra streng i Java

Overvej et eksempel på fjernelse af en understreng fra en streng.

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

Konklusion

I Java skal vi nogle gange fjerne tegn fra en streng. Det er dog umuligt med String-klassens remove()-metode.

Et tegn kan fjernes fra en streng på forskellige måder, herunder i begyndelsen, slutningen eller et defineret sted. For at slette et bestemt tegn fra en streng og erstatte det med en tom streng, skal du bruge metoden replace(). Derudover er replace()-metoderne i Java String-klassen talrige. Sidstnævnte er afgørende for at hjælpe med at fjerne tegn fra en streng. Målet er at erstatte værdien med en tom streng.


Java tag