logo

Hur man tar bort sista tecken från sträng i Java

I Java finns det huvudsakligen tre klasser relaterade till Sträng . Klasserna är Sträng, StringBuilder , och StringBuffer klass som tillhandahåller metoder relaterade till strängmanipulation. Ta bort det första och sista tecknet från strängen är också en operation som vi kan utföra på strängen.

I det här avsnittet kommer vi att lära oss hur man tar bort det sista tecknet från String in Java . I den sista delen av detta avsnitt har vi också förklarat hur man tar bort det första och sista tecknet i varje ord i en sträng .

Det finns fyra sätt att ta bort det sista tecknet från en sträng:

  • Använder sig av StringBuffer.deleteCahrAt() Klass
  • Använder sig av String.substring() Metod
  • Använder sig av StringUtils.chop() Metod
  • Använder sig av Vanligt uttryck

Använder StringBuffer Class

De StringBuffer klass ger en metod deleteCharAt() . Metoden tar bort ett tecken från den angivna positionen. Vi använder metoden för att ta bort ett tecken från en sträng i Java . Den accepterar en parameter index av typ int. Indexet är positionen för ett tecken som vi vill ta bort. Det returnerar detta objekt.

Syntax:

 public StringBuffer deleteCharAt(int index) 

Det kastar StringIndexOutOfBoundsException om vi anger ett negativt index eller så är indexet större än eller lika med längden på strängen.

Låt oss implementera metoden i ett exempel.

RemoveLastCharcter1.java

 public class RemoveLastCharcter1 { public static void main(String args[]) { String string = 'Javatpoint is the best educational websites'; //creating a constructor of StringBuffer class StringBuffer sb= new StringBuffer(string); //invoking the method sb.deleteCharAt(sb.length()-1); //prints the string after deleting the character System.out.println(sb); } } 

Produktion:

 Javatpoint is the best educational website 

I utgången ovan ser vi att de sista tecknen s har raderats.

gräns med css

Använder metoden String.substring()

De substring() är metoden för klassen String. Den analyserar två parametrar börjaIndex och endIndex av typ int. Den returnerar en ny sträng (understräng) . Det är inte trådsäkert eftersom det inte ger ett undantag om strängen är null eller tom.

Syntax:

 public String substring (int beginIndex, int endIndex) 

Om beginIndex är negativt eller beginIndex > endIndex eller den endIndex > längden på strängen det kastar IndexOutOfBoundsException .

RemoveLastCharacter2.java

 public class RemoveLastCharacter2 { public static void main(String[] args) { //object of the class RemoveLastCharacter2 rlc = new RemoveLastCharacter2(); String string='Welcome to Javatpoint'; //method calling string=rlc.removeLastChar(string); //prints the string System.out.println(string); } //method to remove last character private String removeLastChar(String s) { //returns the string after removing the last character return s.substring(0, s.length() - 1); } } 

Produktion:

 Welcome to Javatpoin 

Använder StringUtils.chop()-metoden

De StringUtils klass ger en hacka() metod för att ta bort det sista tecknet från en sträng. Metoden analyserar en parameter av typen String. Det accepterar också null , som en parameter. Den returnerar strängen efter att ha tagit bort sista karaktären . Den returnerar också en nollsträng när vi matar in en nollsträng.

Syntax:

 public static String chop(String str) 

För att använda hacka() metod för StringUtils klass måste vi lägga till följande beroende i pom.xml fil. När vi lägger till Apache commons lang3 jar i pom-filen laddar den ner jar-filen och lägger till jar-filen i sökvägen. Vi måste importera paketet
org.apache.commons.lang3.StringUtils

 org.apache.commons commons-lang3 3.9 

Efter att ha lagt till beroendet kan vi anropa metoden chop() för klassen StringUtils för att ta bort det sista tecknet från strängen.

RemoveLastCharacter3.java

 import org.apache.commons.lang3.StringUtils; public class RemoveLastCharacter3 { public static void main(String[] args) { String string='Google'; //invoking method string=StringUtils.chop(string); //prints the string after chopping the last character System.out.println(string); } } 

Produktion:

 Googl 

Använda reguljära uttryck

Vi kan också använda vanligt uttryck för att ta bort eller ta bort det sista tecknet från strängen. String-klassen tillhandahåller Ersätt alla() metod som analyserar två parametrar regex och ersättning av typen String. Metoden ersätter strängen med den angivna matchningen.

    regex:Det är uttrycket som strängen ska matcha med.ersättning:Det är ersättningssträngen eller ersättningssträngen för varje match.

Den returnerar den resulterande delsträngen.

Syntax:

 public String replaceAll(String regex, String replacement) 

Det kastar PatternSyntaxException om syntaxen för reguljära uttryck är ogiltig.

RemoveLastCharacter4.java

 public class RemoveLastCharacter4 { public static void main(String[] args) { //creating an object of the class RemoveLastCharacter4 rlc=new RemoveLastCharacter4(); String string='Honesty is the best policy'; //method calling string=rlc.removeLastCharacter(string); //prints the string System.out.println(string); } public String removeLastCharacter(String str) { //the replaceAll() method removes the string and returns the string return (str == null) ? null : str.replaceAll('.$', ''); } } 

Produktion:

 Honesty is the best polic 

Ta bort det första och sista tecknet i varje ord i en sträng

Vi kan också ta bort eller ta bort det första och sista tecknet i varje ord i en sträng. För att ta bort det första och sista tecknet använder vi följande steg:

  • Dela (bryt) strängen baserat på utrymmet.
  • För varje ord, kör en slinga från första till sista bokstaven.
  • Identifiera det första och sista tecknet i varje ord.
  • Ta nu bort det första och sista tecknet i varje ord.

RemoveFirstAndLastCharacter.java

 import java.util.*; public class RemoveFirstAndLastCharacter { static String removeFirstAndLast(String str) { //breaks the string based on space and makes the array of string String[] arrOfStr = str.split(' '); //stores the resultant string String result_string = ''; //iterate over the words for (String s : arrOfStr) { //removes first and last character result_string += s.substring(1, s.length() - 1) + ' '; } return result_string; } //main method public static void main(String args[]) { String string = 'Javatpoint is the best educational websites'; //prints the string before removing the first and last character System.out.println(string); //calling method and prints the string after removing the first and last character System.out.println(removeFirstAndLast(string)); } } 

Produktion:

 Javatpoint is the best educational website avatpoin h es ducationa ebsit 

I utgången ovan ser vi att det första och sista tecknet har tagits bort från varje ord i strängen. Ordet 'är' har tagits bort helt eftersom det bara har två tecken.