V Jave existujú hlavne tri triedy súvisiace s Reťazec . Triedy sú reťazec, StringBuilder , a StringBuffer trieda, ktorá poskytuje metódy súvisiace s manipuláciou s reťazcami. Odstránenie prvého a posledného znaku z reťazca je tiež operácia, ktorú môžeme vykonať na reťazci.
V tejto časti sa naučíme ako odstrániť posledný znak z reťazca String in Java . V poslednej časti tejto časti sme tiež vysvetlili ako odstrániť prvý a posledný znak každého slova v reťazci .
Existujú štyri spôsoby, ako odstrániť posledný znak z reťazca:
- Použitím StringBuffer.deleteCahrAt() Trieda
- Použitím String.substring() Metóda
- Použitím StringUtils.chop() Metóda
- Použitím Regulárny výraz
Použitie triedy StringBuffer
The StringBuffer trieda poskytuje metódu deleteCharAt() . Metóda vymaže znak zo zadanej pozície. Metódu používame na odstránenie znaku z a reťazec v jazyku Java . Akceptuje parameter index typu int. Index je pozícia znaku, ktorý chceme vymazať. Vráti tento objekt.
Syntax:
public StringBuffer deleteCharAt(int index)
To hádže StringIndexOutOfBoundsException ak zadáme záporný index alebo je index väčší alebo rovný dĺžke reťazca.
Implementujme metódu na príklade.
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ýkon:
Javatpoint is the best educational website
Vo vyššie uvedenom výstupe vidíme, že posledný znak s bol vymazaný.
čo je mac os
Použitie metódy String.substring().
The podreťazec() je metóda triedy String. Analyzuje dva parametre beginIndex a endIndex typu int. Vracia nový reťazec (podreťazec) . Nie je bezpečný pre vlákna, pretože nevyvoláva výnimku, ak je reťazec prázdny alebo prázdny.
Syntax:
public String substring (int beginIndex, int endIndex)
Ak beginIndex je záporný alebo beginIndex > endIndex alebo endIndex > dĺžka reťazca to hádže 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ýkon:
Welcome to Javatpoin
Použitie metódy StringUtils.chop().
The StringUtils trieda poskytuje a sekať () metóda na odstránenie posledného znaku z reťazca. Metóda analyzuje parameter typu String. Tiež prijíma nulový , ako parameter. Po odstránení reťazec vráti reťazec posledný znak . Vracia tiež a nulový reťazec keď zadáme nulový reťazec.
Syntax:
public static String chop(String str)
Za použitie sekať () metóda StringUtils triedy, musíme pridať nasledujúcu závislosť v pom.xml súbor. Keď pridáme Jazyk Apache Commons 3 jar v súbore pom stiahne súbor jar a pridá súbor jar do cesty. Balíček musíme importovať
org.apache.commons.lang3.StringUtils
org.apache.commons commons-lang3 3.9
Po pridaní závislosti môžeme zavolať metódu chop() triedy StringUtils na odstránenie posledného znaku z reťazca.
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ýkon:
Googl
Používanie regulárneho výrazu
Môžeme tiež použiť regulárny výraz na odstránenie alebo vymazanie posledného znaku z reťazca. Trieda String poskytuje nahradiť všetko() metóda ktorý analyzuje dva parametre regulárny výraz a výmena typu String. Metóda nahradí reťazec zadanou zhodou.
Vráti výsledný podreťazec.
Syntax:
public String replaceAll(String regex, String replacement)
To hádže PatternSyntaxException ak je syntax regulárneho 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ýkon:
Honesty is the best polic
Odstránenie prvého a posledného znaku každého slova v reťazci
Môžeme tiež odstrániť alebo odstrániť prvý a posledný znak každého slova v reťazci. Na odstránenie prvého a posledného znaku použijeme nasledujúce kroky:
- Rozdeľte (prelomte) reťazec na základe medzery.
- Pre každé slovo spustite cyklus od prvého po posledné písmeno.
- Identifikujte prvý a posledný znak každého slova.
- Teraz odstráňte prvý 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ýkon:
Javatpoint is the best educational website avatpoin h es ducationa ebsit
Vo vyššie uvedenom výstupe vidíme, že z každého slova reťazca bol odstránený prvý a posledný znak. Slovo „je“ bolo úplne odstránené, pretože má iba dva znaky.