Java'da Dizeleri Değiştirmenin 5 Yolu

İçindekiler:

Java'da Dizeleri Değiştirmenin 5 Yolu
Java'da Dizeleri Değiştirmenin 5 Yolu

Video: Java'da Dizeleri Değiştirmenin 5 Yolu

Video: Java'da Dizeleri Değiştirmenin 5 Yolu
Video: c# sharp ile access veri tabanı destekli proje kullanıcı adı ve şifresi oluşturma Ders-1 2024, Nisan
Anonim

Dizeler karakter dizileridir. Örneğin, "Merhaba!" 'H', 'e', 'l', 'l', 'o' ve '!' karakterlerinden oluştuğu için bir dizedir. Java'da dizeler nesnelerdir; bu, alanları ve yöntemleri olan bir String sınıfı olduğu anlamına gelir. Dizeleri işlemek için String sınıfının yöntemlerini kullanabiliriz.

adımlar

Yöntem 1/5: Bir Dize Oluşturun

3016567 1 1
3016567 1 1

Adım 1. String sınıfının yapıcısını kullanarak bir dize oluşturun

    String str = new String("Merhaba!");

3016567 2 1
3016567 2 1

Adım 2. Doğrudan bir dize atayarak bir dize oluşturun

3016567 3 1
3016567 3 1

Adım 3. Bir örnek deneyin

İşte iki farklı şekilde bir string oluşturan örnek bir program.

    public class StringManipulation { public static void main(String args) { String str1 = new String("Bir yapıcı ile oluşturulan dize!"); String str2 = "Bir yapıcı olmadan oluşturulan dize!"; System.out.println(str1); System.out.println(str2); } }

Yöntem 2/5: Bir Dizenin Uzunluğunu Bulun

Adım 1. Bir dizenin uzunluğunu bulmanın ne anlama geldiğini anlayın

Bir dizenin uzunluğu, dizenin içerdiği karakter sayısıdır. Örneğin, "Merhaba!" dizesinin uzunluğu 6 karakter olduğu için 6'dır.

3016567 5 1
3016567 5 1

Adım 2. Çağırın

uzunluk()

String nesnesindeki yöntemi ve sonucu bir tamsayı değişkeninde saklayın.

    int strLength = str.uzunluk();

3016567 6 1
3016567 6 1

Adım 3. Bir şans verin

İşte bir dizgenin uzunluğunu bulan örnek bir program.

    public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; int strLength = str.uzunluk(); System.out.println("\"" + str + "\"nin uzunluğu " + strLength + "."); } }

Yöntem 3/5: Bir Dizeyi Tersine Çevirme

3016567 7
3016567 7

Adım 1. Bir dizeyi tersine çevirmenin ne anlama geldiğini anlayın

Bir dizeyi tersine çevirmek, bir dizedeki karakterlerin sırasını değiştirmek anlamına gelir. Örneğin, "Merhaba!" dizesinin tersi. "!olleH" dir. Java'da bir dizeyi tersine çevirmenin birçok yolu vardır.

3016567 8 1
3016567 8 1

Adım 2. StringBuffer sınıfının ters yöntemini kullanın

Parametre olarak tersine çevirmek istediğiniz dizeyi alan bir StringBuffer nesnesi oluşturun. StringBuffer'ın reverse() yöntemini kullanın ve ardından toString() yöntemini kullanarak yeni tersine çevrilmiş dizeyi alın.

    public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; StringBuffer arabelleği = yeni StringBuffer(str); Ters dizge = buffer.reverse().toString(); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }

3016567 9 1
3016567 9 1

Adım 3. Bir dizedeki karakterleri tersten yineleyin, bu karakterleri her yinelemede bir StringBuffer'a ekleyin

Parametre olarak tersine çevirmek istediğiniz dizenin uzunluğuyla başlatılan yeni bir StringBuffer nesnesi oluşturun. Ardından, dizedeki son karakterden başlayarak ve dizedeki ilk karakterle biten dize boyunca yineleme yapmak için bir for döngüsü kullanın. Her yinelemede, o dizindeki karakteri StringBuffer'a ekleyin. toString() yöntemini kullanarak yeni ters çevrilmiş dizeyi alın.

    public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; StringBuffer arabelleği = new StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } String reversedStr = buffer.toString(); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }

3016567 10 1
3016567 10 1

Adım 4. Dizeyi tersine çevirmek için özyinelemeli bir işlev yazın

Özyinelemeli işlevde, temel durum/koşul, dizenin boş olması veya dizenin uzunluğunun hiçbirinden küçük veya ona eşit olmasıdır. Aksi takdirde, ilk karakterden ilk karakter çıkarılarak string ile yeniden reverse() yöntemi çağrılır ve ilk karakter sonunda iliştirilir. Bu nedenle, "Merhaba!" dizesini geçersek, bundan sonraki ilk ters() çağrısı "ello!" parametresine sahip olacaktır.

    public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; Ters dizgeStr = ters(str); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } özel statik String ters(Dize str) { if (str == null || str.length() <= 1) return str; geri dönüş ters(str.substring(1)) + str.charAt(0); } }

3016567 11 1
3016567 11 1

Adım 5. Dizeyi bir karakter dizisine dönüştürün ve ardından ilk ve son, ikinci ve ikinciyi sondan, vb. değiştirin

karakterler. İlk önce, dizedeki toCharArray() yöntemini kullanarak dizeyi bir karakter dizisine dönüştürün. Dizideki eksi birin uzunluğuna eşit olan dizideki son karakterin dizinini alın. Ardından, i'yi değiştirerek diziyi yineleyinNS karakter ve indexOfLastChar - iNS Her yinelemede karakter. Son olarak, karakter dizisini tekrar bir dizgeye dönüştürün.

    public class StringManipulation { public static void main(String args) { String str = "Merhaba!"; char charArray = str.toCharArray(); int indexOfLastChar = charArray.length - 1; for (int i = 0; i < charArray.length/2; i++) { char temp = charArray; charArray = charArray[indexOfLastChar - i]; charArray[indexOfLastChar - i] = sıcaklık; } String reversedStr = new String(charArray); System.out.println("\"" + str + "\" dizesinin tersi \"" + reversedStr + "\"."); } }

3016567 12 1
3016567 12 1

Adım 6. Çıktınızı gözden geçirin

İşte dize ters çevirme için bu yöntemlerden herhangi birinden elde edilen çıktı.

Yöntem 4/5: Bir Dizedeki Beyaz Boşluğu Kırp

3016567 13
3016567 13

Adım 1. Bir dizedeki beyaz boşluğu kırpmanın ne anlama geldiğini anlayın

Java'da bir dizeyi kırpmak, dizedeki baştaki ve sondaki beyaz boşluğu kaldırmak anlamına gelir. Örneğin, dizeniz varsa

Selam Dünya!

" ve "Merhaba dünya!" demesini istiyorsanız, başında ve sonunda beyaz boşluk olmadan dizeyi kırpabilirsiniz. String sınıfı, dizenin bir kopyasını döndüren trim() için bir yöntem sağlar. Baştaki ve sondaki beyaz boşluk kaldırıldı veya başında veya sonunda boşluk yoksa orijinal dize.

3016567 14 1
3016567 14 1

Adım 2. Boşluğu kırpmak için bir String nesnesi üzerinde String sınıfının trim() yöntemini kullanın

Dize boşsa trim() yönteminin bir istisna atacağını unutmayın. trim() yöntemi, orijinal dizenin içeriğini değiştirmez, çünkü Java'daki dizeler değişmezdir; bu, bir dize oluşturulduktan sonra durumunun değiştirilemeyeceği anlamına gelir. Bunun yerine, trim() yöntemi, boşlukları kırpılmış yeni bir dize döndürür.

    String trimmedStr = str.trim();

Adım 3. Bir örnek deneyin

Bir dizgenin beyaz boşluğunu budayan örnek bir program:

    public class StringManipulation { public static void main(String args) { String str = " Merhaba! "; String trimmedStr = str.trim(); System.out.println("Orijinal Dizi \"" + str + "\"."); System.out.println("Kesilmiş Dizi \"" + trimmedStr + "\"."); } }

Yöntem 5/5: Bir Dizeyi Böl

3016567 16
3016567 16

Adım 1. Bir dizeyi bölmenin ne anlama geldiğini anlayın

Java'da bir dizeyi bölmek, bir dizeyi belirli bir sınırlayıcıyla bir dizi alt dizeye bölmek anlamına gelir. Örneğin, "kırmızı, mavi, yeşil, sarı, pembe" dizesini sınırlayıcı olarak virgülle bölersem, { "kırmızı", "mavi", "yeşil", "sarı", "pembe" dizisini alırdım " }. İşte bir dizgiyi bölmenin üç farklı yolu.

3016567 17 1
3016567 17 1

Adım 2. Kullanım

StringTokenizer

dizeyi belirtmek için.

İçe aktarmak

java.util. StringTokenizer

. Ardından yeni bir örnek oluşturun

StringTokenizer

belirtilecek dize ve parametre olarak sınırlayıcı ile. Sınırlayıcıyı parametre olarak girmezseniz, sınırlayıcı otomatik olarak varsayılan olarak beyaz boşluk olur. sahip olduktan sonra

StringTokenizer

kullanabilirsiniz

sonrakiToken()

Her belirteci alma yöntemi.

    java.util. Arrays'i içe aktarın; java.util. StringTokenizer'ı içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; StringTokenizer belirteci = new StringTokenizer(str, ", "); int numberOfTokens = tokenizer.countTokens(); String splitArr = new String[numberOfTokens]; for (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }

  • Java 1.4'ten önce,

    StringTokenizer

    Java'da dizeleri bölmek için class kullanıldı. Ama şimdi, kullanımı

    StringTokenizer

    cesareti kırılır ve kullanımı

    bölmek()

    yöntemde

    Sicim

    sınıfı veya kullanımı

    java.util.regex

  • paketi teşvik edilmektedir.
3016567 18 1
3016567 18 1

Adım 3.

Sicim

sınıfın

bölmek()

yöntem.

NS

bölmek()

yöntem, sınırlayıcıyı bir param olarak alacak ve

StringTokenizer

    java.util. Arrays'i içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; String splitArr = str.split(", "); System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }

3016567 19 1
3016567 19 1

Adım 4. Dizeyi bölmek için normal ifadeler kullanın

İçe aktarmak

java.util.regex. Desen

. Kullan

derleme()

yöntemi

Desen

sınırlayıcıyı ayarlamak için sınıf ve ardından

bölmek()

Bölmek istediğiniz dizeyi yöntemi. NS

Desen

bir dizi alt dize döndürür.

    java.util. Arrays'i içe aktarın; java.util.regex. Pattern'i içe aktarın; public class StringManipulation { public static void main(String args) { String str = "kırmızı, yeşil, mavi, sarı, pembe"; String splitArr = Pattern.compile(", ").split(str); System.out.println("\nOrijinal Dize: " + str); System.out.println("Bölünmüş Dizi: " + Arrays.toString(splitArr) + "\n"); } }

3016567 20 1
3016567 20 1

Adım 5. Çıktınızı gözden geçirin

Dizeleri bölmek için bu yöntemlerden herhangi birinden elde edilen çıktı aşağıdadır.

Önerilen: