.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