logo

Як видалити останній символ із рядка в Java

У Java в основному є три класи, пов’язані з Рядок . Класи є рядок, StringBuilder , і StringBuffer клас, який надає методи, пов'язані з маніпулюванням рядками. Видалення першого та останнього символів із рядка це також операція, яку ми можемо виконати над рядком.

У цьому розділі ми дізнаємося як видалити останній символ із String in Java . В останньому розділі ми також пояснили як видалити перший і останній символ кожного слова в рядку .

Є чотири Способи видалення останнього символу з рядка:

  • Використання StringBuffer.deleteCahrAt() Клас
  • Використання String.substring() метод
  • Використання StringUtils.chop() метод
  • Використання Регулярний вираз

Використання класу StringBuffer

The StringBuffer клас надає метод deleteCharAt() . Метод видаляє символ із зазначеної позиції. Ми використовуємо метод для видалення символу з a рядок у Java . Він приймає параметр індекс типу int. Індекс - це позиція символу, який ми хочемо видалити. Він повертає цей об’єкт.

Синтаксис:

 public StringBuffer deleteCharAt(int index) 

Це кидає StringIndexOutOfBoundsException якщо ми вказуємо від’ємний індекс або індекс більше або дорівнює довжині рядка.

Реалізуємо метод на прикладі.

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

Вихід:

 Javatpoint is the best educational website 

У вихідних даних вище ми бачимо, що останній символ s було видалено.

багатопотоковість java

Використання методу String.substring().

The підрядок() є методом класу String. Він аналізує два параметри beginIndex і endIndex типу int. Він повертає новий рядок (підрядок) . Він небезпечний для потоків, тому що не створює винятку, якщо рядок нульовий або порожній.

Синтаксис:

 public String substring (int beginIndex, int endIndex) 

Якщо beginIndex від'ємний або beginIndex > endIndex або endIndex > довжина рядка це кидає 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); } } 

Вихід:

 Welcome to Javatpoin 

Використання методу StringUtils.chop().

The StringUtils клас забезпечує а рубати() метод видалення останнього символу з рядка. Метод аналізує параметр типу String. Він також приймає нуль , як параметр. Він повертає рядок після видалення останній символ . Він також повертає a нульовий рядок коли ми вводимо нульовий рядок.

Синтаксис:

 public static String chop(String str) 

Для використання рубати() метод StringUtils нам потрібно додати наступну залежність у pom.xml файл. Коли ми додаємо Apache commons lang3 jar у файлі pom, він завантажує файл jar і додає файл jar до шляху. Ми повинні імпортувати пакет
org.apache.commons.lang3.StringUtils

 org.apache.commons commons-lang3 3.9 

Після додавання залежності ми можемо викликати метод chop() класу StringUtils, щоб видалити останній символ із рядка.

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

Вихід:

 Googl 

Використання регулярного виразу

Ми також можемо використовувати регулярний вираз щоб видалити або видалити останній символ із рядка. Клас String забезпечує замінитиВсе() метод який аналізує два параметри регулярний вираз і заміна типу String. Метод замінює рядок на вказаний збіг.

    регулярний вираз:Це вираз, якому має відповідати рядок.заміна:Це рядок заміни або рядок заміни для кожного збігу.

Він повертає отриманий підрядок.

Синтаксис:

 public String replaceAll(String regex, String replacement) 

Це кидає PatternSyntaxException якщо синтаксис регулярного виразу недійсний.

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

Вихід:

 Honesty is the best polic 

Видалення першого та останнього символів кожного слова в рядку

Ми також можемо видалити або видалити перший і останній символ кожного слова в рядку. Щоб видалити перший і останній символ, ми використовуємо наступні кроки:

  • Розділити (розірвати) рядок на основі пробілу.
  • Для кожного слова запустіть цикл від першої до останньої літери.
  • Визначте перший і останній символ кожного слова.
  • Тепер видаліть перший і останній символ кожного слова.

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

Вихід:

 Javatpoint is the best educational website avatpoin h es ducationa ebsit 

У наведеному вище виводі ми бачимо, що перший і останній символ було видалено з кожного слова рядка. Слово «є» було повністю видалено, оскільки воно містить лише два символи.