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.
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.