Aracılığıyla paylaş


.NET'te dizelerdeki karakterleri kırpma ve kaldırma

Bir cümleyi tek tek sözcüklere ayrıştırıyorsanız, sözcüğün her iki ucunda boş boşluklar (beyaz boşluk olarak da adlandırılır) bulunan sözcüklerle karşılaşabilirsiniz. Bu durumda, System.String sınıfındaki kırpma yöntemlerinden birini kullanarak dizede belirtilen konumdaki herhangi bir sayıda boşluğu veya diğer karakteri kaldırabilirsiniz. Aşağıdaki tabloda kullanılabilir kırpma yöntemleri açıklanmaktadır:

Yöntem adı Kullan
String.Trim Dizgenin başından ve sonundan bir karakter dizisi içinde belirtilen boşlukları veya karakterleri kaldırır.
String.TrimEnd Bir karakter dizisinde belirtilen karakterleri dizenin sonundan kaldırır.
String.TrimStart Bir karakter dizisinde belirtilen karakterleri dizenin başından kaldırır.
String.Remove Bir dizedeki belirtilen dizin konumundan belirtilen sayıda karakteri kaldırır.

Kesmek

Aşağıdaki örnekte gösterildiği gibi String.Trim yöntemini kullanarak dizenin her iki ucundaki boşlukları kolayca kaldırabilirsiniz:

string MyString = " Big   ";
Console.WriteLine($"Hello{MyString}World!");
string TrimString = MyString.Trim();
Console.WriteLine($"Hello{TrimString}World!");
//       The example displays the following output:
//             Hello Big   World!
//             HelloBigWorld!
Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
' The example displays the following output:
'       Hello Big   World!
'       HelloBigWorld!        

Ayrıca, bir karakter dizisinde belirttiğiniz karakterleri dizenin başından ve sonundan kaldırabilirsiniz. Aşağıdaki örnek boşluk karakterlerini, nokta ve yıldız işaretlerini kaldırır:

using System;

public class Example
{
   public static void Main()
   {
      String header = "* A Short String. *";
      Console.WriteLine(header);
      Console.WriteLine(header.Trim( new Char[] { ' ', '*', '.' } ));
   }
}
// The example displays the following output:
//       * A Short String. *
//       A Short String
Module Example
    Public Sub Main()
        Dim header As String = "* A Short String. *"
        Console.WriteLine(header)
        Console.WriteLine(header.Trim({" "c, "*"c, "."c}))
    End Sub
End Module
' The example displays the following output:
'       * A Short String. *
'       A Short String

Kırpma Ucu

String.TrimEnd yöntemi, dizenin sonundaki karakterleri kaldırarak yeni bir dize nesnesi oluşturur. Kaldırılacak karakterleri belirtmek için bu yönteme bir karakter dizisi geçirilir. Karakter dizisindeki öğelerin sırası kırpma işlemini etkilemez. Dizide belirtilmeyen bir karakter bulunduğunda kırpma durdurulur.

Aşağıdaki örnek, TrimEnd yöntemini kullanarak bir dizenin son harflerini kaldırır. Bu örnekte, dizideki karakterlerin sırasının önemli olmadığını göstermek için 'r' karakterin ve 'W' karakterinin konumu tersine çevrilir. Bu kodun MyString son sözcüğünü ve ilk sözcüğün bir kısmını kaldırdığını fark edin.

string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)

Bu kod konsolda He gösterir.

Aşağıdaki örnek, TrimEnd yöntemini kullanarak bir dizenin son sözcüğünü kaldırır. Bu kodda virgül Hello sözcüğünü izler ve virgül kırpacak karakter dizisinde belirtilmediğinden kırpma virgülle biter.

string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello, World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)

Bu kod konsolda Hello, gösterir.

Kırpma Başlangıcı

String.TrimStart yöntemi, var olan bir dize nesnesinin başından karakterleri kaldırarak yeni bir dize oluşturması dışında String.TrimEnd yöntemine benzer. Kaldırılacak karakterleri belirtmek için TrimStart yöntemine bir karakter dizisi geçirilir. TrimEnd yönteminde olduğu gibi karakter dizisindeki öğelerin sırası kırpma işlemini etkilemez. Dizide belirtilmeyen bir karakter bulunduğunda kırpma durdurulur.

Aşağıdaki örnek bir dizenin ilk sözcüğünü kaldırır. Bu örnekte, dizideki karakterlerin sırasının önemli olmadığını göstermek için 'l' karakterin ve 'H' karakterinin konumu tersine çevrilir.

string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"e", "H", "l", "o", " "}
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)

Bu kod konsolda World! gösterir.

Kaldır

String.Remove yöntemi, var olan bir dizede belirtilen konumda başlayan belirli sayıda karakteri kaldırır. Bu yöntem sıfır tabanlı bir dizin olduğunu varsayar.

Aşağıdaki örnek, dizenin sıfır tabanlı dizininin beş konumundan başlayarak bir dizeden 10 karakteri kaldırır.

string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
// The example displays the following output:
//         Hello World!
Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
' The example displays the following output:
'         Hello World!        

Değiştir

Ayrıca, String.Replace(String, String) yöntemini çağırarak ve değiştirme olarak boş bir dize (String.Empty) belirterek bir dizeden belirtilen karakteri veya alt dizeyi kaldırabilirsiniz. Aşağıdaki örnek bir dizedeki tüm virgülleri kaldırır:

using System;

public class Example
{
   public static void Main()
   {
      String phrase = "a cold, dark night";
      Console.WriteLine($"Before: {phrase}");
      phrase = phrase.Replace(",", "");
      Console.WriteLine($"After: {phrase}");
   }
}
// The example displays the following output:
//       Before: a cold, dark night
//       After: a cold dark night
Module Example
    Public Sub Main()
        Dim phrase As String = "a cold, dark night"
        Console.WriteLine("Before: {0}", phrase)
        phrase = phrase.Replace(",", "")
        Console.WriteLine("After: {0}", phrase)
    End Sub
End Module
' The example displays the following output:
'       Before: a cold, dark night
'       After: a cold dark night

Ayrıca bkz.