.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, dizede System.String belirtilen konumdan herhangi bir sayıda boşluğu veya diğer karakterleri kaldırmak için sınıftaki kırpma yöntemlerinden birini kullanabilirsiniz. Aşağıdaki tabloda kullanılabilir kırpma yöntemleri açıklanmaktadır:

Yöntem adı Kullanma
String.Trim Dizenin başından ve sonundan bir karakter dizisinde 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.

Trim

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

String^ MyString = " Big   ";
Console::WriteLine("Hello{0}World!", MyString);
String^ TrimString = MyString->Trim();
Console::WriteLine("Hello{0}World!", TrimString);
// The example displays the following output:
//       Hello Big   World!
//       HelloBigWorld!        
string MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString);
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString);
//       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

TrimEnd

yöntemi, String.TrimEnd 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, yöntemini kullanarak bir dizenin son harflerini TrimEnd kaldırır. Bu örnekte, dizideki karakterlerin 'r' sırasının önemli olmadığını göstermek için karakterin ve 'W' karakterin konumu tersine çevrilir. Bu kodun ilk sözcüğün artı kısmının MyString son sözcüğünü kaldırdığını fark edin.

String^ MyString = "Hello World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
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 görüntülenir He .

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

String^ MyString = "Hello, World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
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 görüntülenir Hello, .

TrimStart

String.TrimStart yöntemi, mevcut bir dize nesnesinin String.TrimEnd başından karakterleri kaldırarak yeni bir dize oluşturması dışında yöntemine benzer. Kaldırılacak karakterleri belirtmek için TrimStart yöntemine bir karakter dizisi geçirilir. yönteminde TrimEnd 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 'l' sırasının önemli olmadığını göstermek için karakterin ve 'H' karakterin konumu tersine çevrilir.

String^ MyString = "Hello World!";
array<Char>^ MyChar = {'e', 'H','l','o',' ' };
String^ NewString = MyString->TrimStart(MyChar);
Console::WriteLine(NewString);
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 görüntülenir World! .

Kaldır

yöntemi, String.Remove var olan bir dizede belirtilen konumda başlayan belirtilen 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!        
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!        

Replace

Ayrıca, yöntemini çağırarak String.Replace(String, String) 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: {0}", phrase);
      phrase = phrase.Replace(",", "");
      Console.WriteLine("After: {0}", 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.