logo

Jak odstranit poslední znak z řetězce v Javě

V Javě existují hlavně tři třídy související s Tětiva . Třídy jsou Tětiva, StringBuilder , a StringBuffer třída, která poskytuje metody související s manipulací s řetězci. Odstranění prvního a posledního znaku z řetězce je také operace, kterou můžeme provést na řetězci.

V této části se naučíme jak odstranit poslední znak z String in Jáva . V poslední části této části jsme také vysvětlili jak odstranit první a poslední znak každého slova v řetězci .

Existují čtyři způsoby, jak odstranit poslední znak z řetězce:

  • Použitím StringBuffer.deleteCahrAt() Třída
  • Použitím String.substring() Metoda
  • Použitím StringUtils.chop() Metoda
  • Použitím Regulární výraz

Použití třídy StringBuffer

The StringBuffer třída poskytuje metodu deleteCharAt() . Metoda odstraní znak ze zadané pozice. Použijeme metodu k odstranění znaku z a řetězec v Javě . Přijímá parametr index typu int. Index je pozice znaku, který chceme odstranit. Vrátí tento objekt.

Syntax:

 public StringBuffer deleteCharAt(int index) 

To hází Výjimka StringIndexOutOfBounds pokud zadáme záporný index nebo je index větší nebo roven délce řetězce.

Implementujme metodu na příkladu.

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

Výstup:

 Javatpoint is the best educational website 

Ve výše uvedeném výstupu vidíme, že poslední znak s byl smazán.

aritmeticko logická jednotka

Použití metody String.substring().

The podřetězec() je metoda třídy String. Analyzuje dva parametry beginIndex a endIndex typu int. Vrací nový řetězec (podřetězec) . Není bezpečný pro vlákna, protože nevyvolá výjimku, pokud je řetězec prázdný nebo prázdný.

Syntax:

 public String substring (int beginIndex, int endIndex) 

Pokud beginIndex je záporný nebo beginIndex > endIndex nebo endIndex > délka řetězce to hází 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); } } 

Výstup:

 Welcome to Javatpoin 

Použití metody StringUtils.chop().

The StringUtils třída poskytuje a kotleta() metoda k odstranění posledního znaku z řetězce. Metoda analyzuje parametr typu String. Také přijímá nula , jako parametr. Vrátí řetězec po odstranění poslední postava . Vrací také a nulový řetězec když zadáme nulový řetězec.

Syntax:

 public static String chop(String str) 

Pro použití kotleta() metoda StringUtils třídy, musíme přidat následující závislost v pom.xml soubor. Když přidáme Apache commons lang3 jar v souboru pom stáhne soubor jar a přidá soubor jar do cesty. Musíme importovat balíček
org.apache.commons.lang3.StringUtils

 org.apache.commons commons-lang3 3.9 

Po přidání závislosti můžeme zavolat metodu chop() třídy StringUtils, abychom odstranili poslední znak z řetězce.

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

Výstup:

 Googl 

Použití regulárního výrazu

Můžeme také použít regulární výraz pro odstranění nebo odstranění posledního znaku z řetězce. Třída String poskytuje vyměnit vše() metoda který analyzuje dva parametry regulární výraz a výměna, nahrazení typu String. Metoda nahradí řetězec zadanou shodou.

    regulární výraz:Je to výraz, se kterým se má řetězec shodovat.výměna, nahrazení:Je to náhradní řetězec nebo náhradní řetězec pro každý zápas.

Vrátí výsledný podřetězec.

Syntax:

 public String replaceAll(String regex, String replacement) 

To hází PatternSyntaxException pokud je syntaxe regulárního výrazu neplatná.

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('.$', ''); } } 

Výstup:

 Honesty is the best polic 

Odstranění prvního a posledního znaku každého slova v řetězci

Můžeme také odstranit nebo smazat první a poslední znak každého slova v řetězci. Chcete-li odstranit první a poslední znak, použijeme následující kroky:

  • Rozdělte (přerušte) řetězec na základě mezery.
  • Pro každé slovo spusťte smyčku od prvního do posledního písmene.
  • Určete první a poslední znak každého slova.
  • Nyní odstraňte první a poslední znak každého slova.

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

Výstup:

 Javatpoint is the best educational website avatpoin h es ducationa ebsit 

Ve výše uvedeném výstupu vidíme, že z každého slova řetězce byl odstraněn první a poslední znak. Slovo „je“ bylo zcela odstraněno, protože má pouze dva znaky.