Java, dizelerden alt dizeleri kaldırmak için çeşitli yöntemler sağlar.
1) Değiştirme yöntemini kullanma
Bu yöntem Java String sınıfına aittir ve aynı yöntemin iki farklı uygulamasını sağlamak için aşırı yüklenmiştir.
İlk yaklaşımda, önceki her karakterin yerini alacak şekilde bir dizeye yeni bir karakter eklenir.
Bu şekilde, tüm eski karakterler güncellendikten sonra yeni karakterler içeren dize döndürülür.
Sözdizimi:
string.replace(char oldChar, char newChar)
Yeni karakter dizede bulunamazsa prosedür bu dizeyi döndürür.
Örnek:
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); } }
Çıktı:
2) Karakter Sırasını Kullanmak
İkinci teknik, yalnızca bir karakter koleksiyonu olan CharSequence'ın yerine istenen karakter dizisini koyar.
Sözdizimi:
Java'da listede sıralama
string.replace(char oldChar, char newChar)
Bu işlem ve birincisi yalnızca bir karakter dizisinin yerine geçmesi bakımından farklılık gösterir.
Örnek:
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); } }
Çıktı:
3) Alt Dizeyi boş bir dizeyle değiştirin
Java, String'den silmek istediğiniz bir alt dizeyi boş bir String ile kolayca değiştirmenize olanak tanır.
Sözdizimi:
string.replace(char oldChar, empty char)
Örnek:
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); } }
Çıktı:
4) String'in replacementFirst yöntemini kullanma
Bu yöntem, normal ifadeyle eşleşen bir dize arar ve eğer bulunursa, onu verilen dizeyle değiştirir.
java liste yöntemleri
Perde arkasında bu işlev, metni düzenli bir ifade kullanarak ayıklar. derleme() Ve maçlar() Pattern sınıfının yöntemleri.
Sözdizimi:
string.replaceFirst(No. of digit, new digit)
Bir dizeden bir sayı çıkarmak ve onu dize olarak başka bir sayıyla değiştirmek için normal bir ifade oluşturulacaktır.
dosya java'da açıldı
Not: Dizenin yalnızca ilk iki rakamı bu sayıyla değiştirilecektir; kalan rakamlar değişmeden kalacaktır.
Örnek:
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); } }
Çıktı:
5) changeFirst() yöntemi
ilk değiştir() yöntemi, bir String'den bir alt dizeyi silmek için boş bir String ile kullanılabilir.
Sözdizimi:
string.replace(No. of digit, empty char)
Örnek:
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); }}
Çıktı:
6) replacementAll yöntemini kullanma
hepsini değiştir yönteminin aksine ilk önce değiştir , dizenin her örneğini değiştirmek için normal bir ifade kullanır.
Benzer ilk önce değiştir , bu yöntem, normal ifadeyi kullanarak bir dizeyi ayıklar. derleme() Ve maçlar() yöntemler. Aynı zamanda bir üretir ModelSözdizimiİstisna normal ifade yanlışsa.
Sözdizimi:
String replaceAll(No. of digit, int new number)
Bir dizeden tüm sayıları alan ve her örnek için sayıların yerine geçen bir düzenli ifade kullanacağız.
D : Bu normal ifade, 0 ile 9 arasındaki herhangi bir rakamı tanır.
Örnek:
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); }}
Çıktı:
7) replacementAll() yöntemi
changeAll() yöntemiyle, bir dizeden bir alt dizeyi kaldırmak için boş bir String kullanabilirsiniz.
Sözdizimi:
string.replace(No. of digit, empty char)
Örnek:
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); } }
Çıktı:
dizi listesini sırala
8) String Builder'ın delete() yöntemini kullanma
Bir dizeye karakter eklemek ve çıkarmak için, StringBuilder değiştirilebilir bir karakter dizisi tutar.
Boş alan tarafından 16 karakterlik başlangıç kapasitesine sahip bir dize oluşturucu oluşturulur. StringBuilder işlev Nesne() {[yerel kod] }, ve eğer dahili arabellek taşarsa, daha büyük bir dize oluşturucu otomatik olarak oluşturulur.
Dizeden silinecek alt dizenin başlangıcı ve bitişi, dizenin birinci ve ikinci int parametreleri olarak belirtilir. silmek() işlev.
Son indeks ikinci parametreden bir çıkardığı için dışlayıcıdır ancak başlangıç indeksi kapsayıcıdır.
Sözdizimi:
public StringBuilder delete(int start,int end)
Başlangıç negatif olduğunda, dizenin uzunluğundan daha büyük veya dizenin sonundan daha büyük olduğunda, StringIndexOutOfBoundsException Atıldı. Başlangıç ve bitiş eşit olduğunda herhangi bir ayarlama yapılmaz.
Örnek:
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()); } }
Çıktı:
9) StringBuilder change() Yöntemini Kullanmak
Aralarındaki tek fark yer değiştirmek() işlevi ve silmek() yöntem, dizeden kaldırılan karakterleri değiştirmek için kullanılan üçüncü parametredir.
dünyanın en iyi arabaları
Değiştirilmesi gereken büyük bir ip varsa, ipin uzunluğuna uyacak şekilde boyut artırılacaktır.
Sözdizimi:
string.replace(int start, int end, char newChar)
İşlev toString() Bu yöntem bir değer döndürdükten sonra güncellenen dizeyi yazdırmak için { [yerel kod] }() işlevi kullanılabilir StringBuilder .
Örnek:
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()); } }
Çıktı:
Çözüm
Bu makalede, bir dizeden bir alt dizeyi kaldırmak için karakterleri nasıl değiştireceğinizi ve sileceğinizi öğrendiniz. Sunulan teknikler arasında StringBuilder delete() ve replacement() yöntemlerinin yanı sıra string replacement(), replacementFirst() ve replacementAll() işlevlerinin kullanımı yer almaktadır.