CodeBlanks Logo Icon CodeBlanks

Replace

C# kursu · Başlangıç · Ders 92/116

Replace ile metin içinde değiştirme yapmayı öğrenirsin.

Replace ile değiştirme

Replace metodu, bir dizedeki tüm eşleşmeleri başka bir alt dizeyle değiştirir. Eski ve yeni değer olmak üzere iki parametre alır; özgün dizeyi bozmaz, yeni bir dize döndürür.

Örneğin "kalem al".Replace("kalem", "kitap") çağrısı "kitap al" döndürür. Eşleşen tüm örnekler değiştirilir; yalnızca ilk eşleşme değil. Değişikliği kalıcı kılmak için sonucu bir değişkene atamalısın.

Zincirleme Replace çağrıları

Birden çok değişiklik yapmak istersen Replace çağrılarını art arda zincirleyebilirsin. Her çağrı bir dize döndürdüğü için sonucu doğrudan bir sonraki çağrıya aktarabilirsin.

Örneğin text.Replace("a", "A").Replace("b", "B") ifadesi önce tüm 'a' harflerini, sonra tüm 'b' harflerini değiştirir. Bu, tek satırda çok adımlı bir temizlik yapmanı sağlar.

Char ve dize parametreleri

Replace iki biçimde çalışır: Replace(char, char) tek bir karakteri değiştirirken Replace(string, string) daha uzun alt dizeleri değiştirir. İhtiyacına göre uygun olanı seçersin.

Örneğin "1-2-3".Replace('-', '/') çağrısı "1/2/3" verirken "1-2-3".Replace("-", " - ") çağrısı "1 - 2 - 3" verir. Her ikisi de geçerlidir; hangi veriyle çalıştığına göre seçersin.

Uygulama İki kelimeyi değiştir

text değişkenine "Siyah araba hızlı gider" dizesini ata. Sonra text.Replace(...).Replace(...) zinciriyle iki değişiklik yap: "Siyah" → "Kırmızı" ve "hızlı" → "yavaş". Sonucu result değişkenine ata ve Console.WriteLine ile yazdır.

Örnek çözümü göster
Önce text'i ata, sonra result = text.Replace("Siyah", "Kırmızı").Replace("hızlı", "yavaş"); yaz ve Console.WriteLine(result); ekle.
Örnek çözüm:
using System;

class Program
{
    static void Main()
    {
        string text = "Siyah araba hızlı gider";
        string result = text.Replace("Siyah", "Kırmızı").Replace("hızlı", "yavaş");
        Console.WriteLine(result);
    }
}

Kendini test et

  1. Replace özgün dizeyi değiştirir mi?

    string s = "a-b-a";
    string r = s.Replace("a", "x");
    • Evet, s artık "x-b-x" olur
    • Hayır, s "a-b-a" olarak kalır, r "x-b-x" olur
    • Yalnızca ilk "a" değişir
    • Replace bir hata fırlatır
    Cevabı göster

    Hayır, s "a-b-a" olarak kalır, r "x-b-x" olur — Doğru! Dizeler değiştirilemez; Replace yeni bir dize döndürür.

  2. İlk harfi değiştir

    string text = "kedi kusu kedi";
    string result = text____;
    Console.WriteLine(result);
    Cevabı göster
    string text = "kedi kusu kedi";
    string result = text.Replace("kedi", "kopek");
    Console.WriteLine(result);
  3. İki kelimeyi tek satırda değiştirmek için?

    string s = "siyah araba";
    • s.Replace("siyah", "kırmızı").Replace("araba", "kamyon")
    • s.Replace("siyah", "araba", "kırmızı", "kamyon")
    • s.Replace(["siyah","araba"], ["kırmızı","kamyon"])
    • s.Replace("siyah", "kırmızı"); s.Replace("araba", "kamyon");
    Cevabı göster

    s.Replace("siyah", "kırmızı"); s.Replace("araba", "kamyon"); — Doğru! Zincirleme Replace ile iki değişiklik tek satırda yapılır.

Başlangıç bölümündeki tüm dersler