Как да премахнете подниз от низ в Java
Java предоставя няколко метода за премахване на поднизове от низове.
1) Използване на метода за замяна
Този метод принадлежи към класа Java String и е претоварен, за да осигури две различни реализации на един и същ метод.
При първия подход нов знак се добавя към низ, за да замени всеки предишен знак.
Този начин връща низа с новите знаци, след като всички стари знаци са били актуализирани.
Синтаксис:
string.replace(char oldChar, char newChar)
Процедурата връща този низ, ако новият знак не може да бъде открит в низа.
Пример:
public class RemoveSubString { public static void main(String[] args) { String para = 'JavatPoint is for learning purpose'; String replace = para.replace('e', 'o'); System.out.println(replace); } } Изход:
2) Използване на Charsequence
Втората техника замества желания низ от знаци за CharSequence, който е просто колекция от знаци.
Синтаксис:
string.replace(char oldChar, char newChar)
Тази операция и първата се различават само по това, че заместват низ от знаци.
Пример:
public class RemoveSubString { public static void main(String[] arg){ String para = 'John like to learn programming'; String replace = para.replace('learn', 'teach'); System.out.println(replace); } } Изход:
3) Заменете подниза с празен низ
Java ви позволява лесно да замените подниз, който искате да изтриете от низа, с празен низ.
Синтаксис:
string.replace(char oldChar, empty char)
Пример:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John like to learn code'; String replace = para.replace('to learn', ''); System.out.println(replace); } } Изход:
4) Използване на метода replaceFirst на String
Този метод търси низ, който съответства на регулярен израз и, ако бъде открит, го замества с дадения низ.
Зад кулисите тази функция извлича текста с помощта на регулярен израз, като използва компилирам () и съвпада() методи на класа Pattern.
Синтаксис:
string.replaceFirst(No. of digit, new digit)
Ще бъде създаден регулярен израз за извличане на число от низ и замяната му с друго число като низ.
Забележка: Само първите две цифри на низа ще бъдат променени от това число; останалите цифри ще останат непроменени.
Пример:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John is 101 years old, and Mary is 20 years old'; String replaceFirst = para.replaceFirst('\d\d\d', '20'); System.out.println(replaceFirst); } } Изход:
5) метод replaceFirst().
The replaceFirst() метод може да се използва с празен низ за изтриване на подниз от низ.
Синтаксис:
string.replace(No. of digit, empty char)
Пример:
package org.arpit.java2blog.entry; public class RemoveSubStringFromString{ public static void main(String[] arg) { String para = ' John is 101 years old, and Mary is 20 years old '; String parafirstreplace = para.replaceFirst('\d\d', ''); System.out.println(parafirstreplace); }} Изход:
6) Използване на метода replaceAll
The замениВсички метод, за разлика от replaceFirst , използва регулярен израз, за да замени всяко копие на низа.
Подобен на replaceFirst , този метод извлича низ, използвайки регулярен израз, като използва компилирам () и съвпада() методи. Той също така произвежда a PatternSyntaxException ако регулярният израз е неправилен.
Синтаксис:
String replaceAll(No. of digit, int new number)
Ще използваме регулярен израз, който изважда всички числа от низ и замества числа за всеки екземпляр.
д : Този регулярен израз разпознава всяка цифра между 0 и 9.
Пример:
public class RemoveSubStringFromString { public static void main(String[] arg) { String para = ' John is 10 years old, and Mary is 20 years old '; String parareplace = para.replaceAll('\d\d', '30'); System.out.println(parareplace); }} Изход:
7) метод replaceAll().
С метода replaceAll() можете да използвате празен низ, за да премахнете подниз от низ.
Синтаксис:
string.replace(No. of digit, empty char)
Пример:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String replaceAll = ' John is 10 years old, and Mary is 20 years old '; String replaceAllNumbers = replaceAll.replaceAll('\d\d', ''); System.out.println(replaceAllNumbers); } } Изход:
8) Използване на метода delete() на String Builder
За да добавяте и премахвате знаци от низ, StringBuilder съдържа модифицируема последователност от знаци.
Конструктор на низове с първоначален капацитет от 16 знака се създава от празния StringBuilder функция Object() { [роден код] }, и ако вътрешният буфер се препълни, автоматично се създава по-голям конструктор на низове.
Началото и краят на подниза, който трябва да бъде изтрит от низа, са посочени като първи и втори int параметър на Изтрий() функция.
Последният индекс е изключителен, тъй като изважда единица от втория параметър, но началният индекс е включващ.
Синтаксис:
public StringBuilder delete(int start,int end)
Когато началото е отрицателно, по-голямо от дължината на низа или по-голямо от края на низа, StringIndexOutOfBoundsException се хвърля. Няма направени корекции, когато началото и краят са еднакви.
Пример:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is language or programming language'); StringBuilder builder = stringBuilder.delete(7, 19); System.out.println(builder.toString()); } } Изход:
9) Използване на StringBuilder replace() метод
Единствената разлика между замени() функция и Изтрий() метод е третият параметър, който се използва за заместване на символите, които са били премахнати от низа.
Ако има голям низ, който трябва да бъде заменен, размерът ще бъде увеличен, за да поеме дължината на низа.
Синтаксис:
string.replace(int start, int end, char newChar)
Функцията toString() Функцията { [native code] }() може да се използва за отпечатване на актуализирания низ, след като този метод върне a StringBuilder .
Пример:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is Code'); StringBuilder builder = stringBuilder.replace(8, 12, 'Programming language'); System.out.println(builder.toString()); } } Изход:
Заключение
В тази статия научихте как да замествате и изтривате знаци, за да премахнете подниз от низ. Представените техники включват използването на методите StringBuilder delete() и replace(), както и функциите string replace(), replaceFirst() и replaceAll().