Memangkas dan menghapus karakter dari string di .NET

Jika Anda mengurai kalimat menjadi kata-kata individual, Anda mungkin berakhir dengan kata-kata yang memiliki spasi kosong (juga disebut spasi kosong) di salah satu akhir kata. Dalam situasi ini, Anda dapat menggunakan salah satu metode pemangkasan di kelas System.String untuk menghapus sejumlah spasi atau karakter lain dari posisi tertentu dalam string. Tabel berikut ini menjelaskan metode pemangkasan yang tersedia:

Nama metode Gunakan
String.Trim Menghapus spasi kosong atau karakter yang ditentukan dalam deretan karakter dari awal dan akhir string.
String.TrimEnd Menghapus karakter tertentu yang terdapat dalam array dari akhir string.
String.TrimStart Menghapus karakter-karakter yang ditentukan dalam array berisi karakter-karakter dari awal teks.
String.Remove Menghapus jumlah karakter tertentu dari posisi indeks tertentu dalam string.

Pangkas

Anda dapat dengan mudah menghapus spasi kosong dari kedua ujung string dengan menggunakan metode String.Trim, seperti yang ditunjukkan dalam contoh berikut:

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!        

Anda juga dapat menghapus karakter yang Anda tentukan dalam array karakter dari awal dan akhir string. Contoh berikut menghapus karakter spasi putih, titik, dan tanda bintang:

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

HapusAkhir

Metode String.TrimEnd menghapus karakter dari akhir string, membuat objek string baru. Array karakter diteruskan ke metode ini untuk menentukan karakter yang akan dihapus. Urutan elemen dalam array karakter tidak memengaruhi operasi pemangkasan. Pemangkasan berhenti ketika karakter yang tidak ditentukan dalam array ditemukan.

Contoh berikut menghapus huruf terakhir string menggunakan metode TrimEnd. Dalam contoh ini, posisi karakter 'r' dan karakter 'W' dibalik untuk menggambarkan bahwa urutan karakter dalam array tidak masalah. Perhatikan bahwa kode ini menghapus kata terakhir MyString ditambah bagian dari yang pertama.

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)

Kode ini menampilkan He ke konsol.

Contoh berikut menghapus kata terakhir string menggunakan metode TrimEnd. Dalam kode ini, koma mengikuti kata Hello dan karena koma tidak ditentukan dalam array karakter untuk dipangkas, pemangkasan berakhir pada koma.

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)

Kode ini menampilkan Hello, ke konsol.

TrimStart

Metode String.TrimStart mirip dengan metode String.TrimEnd kecuali membuat string baru dengan menghapus karakter dari awal objek string yang ada. Array karakter diteruskan ke metode TrimStart untuk menentukan karakter yang akan dihapus. Seperti metode TrimEnd, urutan elemen dalam array karakter tidak memengaruhi operasi pemangkasan. Pemangkasan berhenti ketika karakter yang tidak ditentukan dalam array ditemukan.

Contoh berikut menghapus kata pertama string. Dalam contoh ini, posisi karakter 'l' dan karakter 'H' dibalik untuk menggambarkan bahwa urutan karakter dalam array tidak masalah.

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)

Kode ini menampilkan World! ke konsol.

Hapus

Metode String.Remove menghapus jumlah karakter tertentu yang dimulai pada posisi tertentu dalam string yang ada. Metode ini mengasumsikan indeks berbasis nol.

Contoh berikut menghapus 10 karakter dari sebuah string mulai dari posisi kelima berdasarkan indeks berbasis nol.

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!        

Mengganti

Anda juga dapat menghapus karakter atau substring tertentu dari string dengan memanggil metode String.Replace(String, String) dan menentukan string kosong (String.Empty) sebagai pengganti. Contoh berikut menghapus semua koma dari string:

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