Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Metode String.Split membuat array substring dengan memisahkan string input berdasarkan satu atau beberapa pemisah. Metode ini seringkali merupakan cara termudah untuk memisahkan string pada batas kata.
Catatan
Contoh C# dalam artikel ini dijalankan di Try.NET pengenal kode sebaris dan area latihan. Pilih tombol Jalankan untuk menjalankan contoh di jendela interaktif. Setelah Anda menjalankan kode, Anda dapat memodifikasinya dan menjalankan kode yang dimodifikasi dengan memilih Jalankan lagi. Kode yang dimodifikasi berjalan di jendela interaktif atau, jika kompilasi gagal, jendela interaktif menampilkan semua pesan kesalahan pengompilasi C#.
Petunjuk / Saran
Anda dapat menggunakan bantuan AI untuk membagi string.
Memisahkan string menjadi kata-kata
Kode berikut membagi frasa umum menjadi array string untuk setiap kata.
string phrase = "The quick brown fox jumps over the lazy dog.";
string[] words = phrase.Split(' ');
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
Setiap instans dari karakter pemisah menghasilkan nilai dalam array yang dikembalikan. Karena array di C# diindeks nol, setiap string dalam array diindeks dari 0 ke nilai yang dikembalikan oleh Array.Length properti dikurangi 1:
string phrase = "The quick brown fox jumps over the lazy dog.";
string[] words = phrase.Split(' ');
for (int i = 0; i < words.Length; i++)
{
Console.WriteLine($"Index {i}: <{words[i]}>");
}
memiliki String.Split banyak kelebihan beban. Kelebihan beban ini menyesuaikan perilaku untuk memisahkan string:
- Anda dapat menentukan pemisah sebagai
char
nilai ataustring
nilai. - Anda dapat menentukan satu pemisah atau beberapa pemisah. Jika Anda menentukan beberapa pemisah, semuanya harus jenis yang sama (baik
char
ataustring
). - Anda dapat menentukan jumlah maksimum substring yang akan dikembalikan.
- Anda dapat menentukan apakah karakter pemisah berulang diabaikan, atau menghasilkan substring kosong dalam nilai yang dikembalikan.
- Anda dapat menentukan apakah spasi kosong di depan dan di belakang dihapus dari substring yang dikembalikan.
Contoh yang tersisa menggunakan kelebihan beban yang berbeda untuk menunjukkan setiap perilaku ini.
Tentukan beberapa pemisah
String.Split dapat menggunakan beberapa karakter pemisah. Contoh berikut menggunakan spasi, koma, titik, titik dua, dan tab sebagai karakter pemisah, yang diteruskan ke Split dalam array. Perulangan di bagian bawah kode menampilkan setiap kata dalam array yang dikembalikan.
char[] delimiterChars = [' ', ',', '.', ':', '\t'];
string text = "one\ttwo three:four,five six seven";
Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(delimiterChars);
Console.WriteLine($"{words.Length} words in text:");
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
Kemunculan berturut-turut dari pemisah mana pun menghasilkan string kosong dalam array keluaran.
char[] delimiterChars = [' ', ',', '.', ':', '\t'];
string text = "one\ttwo :,five six seven";
Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(delimiterChars);
Console.WriteLine($"{words.Length} words in text:");
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
String.Split dapat mengambil array string (urutan karakter yang bertindak sebagai pemisah untuk menguraikan string target, bukan karakter tunggal).
string[] separatingStrings = ["<<", "..."];
string text = "one<<two......three<four";
Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(separatingStrings, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine($"{words.Length} substrings in text:");
foreach (var word in words)
{
Console.WriteLine(word);
}
Batasi ukuran output
Contoh berikut menunjukkan cara membatasi output ke empat substring pertama dalam string sumber.
string phrase = "The quick brown fox jumps over the lazy dog.";
string[] words = phrase.Split(' ', 4, StringSplitOptions.None);
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
Menghapus substring kosong
Karakter pemisah secara berturut-turut menghasilkan string kosong sebagai nilai dalam array yang dikembalikan. Anda dapat melihat bagaimana string kosong dibuat dalam contoh berikut, yang menggunakan karakter spasi sebagai pemisah.
string phrase = "The quick brown fox jumps over the lazy dog.";
string[] words = phrase.Split(' ');
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
Perilaku ini mempermudah format seperti file nilai yang dipisahkan oleh koma (CSV) yang mewakili data tabular. Koma berturut-turut mewakili kolom kosong.
Anda dapat meneruskan parameter StringSplitOptions.RemoveEmptyEntries opsional untuk mengecualikan string kosong apa pun dalam array yang dikembalikan. Untuk pemrosesan yang lebih rumit dari kumpulan yang dikembalikan, Anda dapat menggunakan LINQ untuk memanipulasi urutan hasil.
Memangkas spasi kosong
Contoh berikut menunjukkan efek pemangkasan entri:
string numerals = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
string[] words = numerals.Split(',', StringSplitOptions.TrimEntries);
Console.WriteLine("Trimmed entries:");
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
words = numerals.Split(',', StringSplitOptions.None);
Console.WriteLine("Untrimmed entries:");
foreach (var word in words)
{
Console.WriteLine($"<{word}>");
}
Entri yang tidak dipangkas memiliki spasi kosong tambahan sebelum angka.
Menggunakan AI untuk memisahkan string
Anda dapat menggunakan alat AI, seperti GitHub Copilot, untuk menghasilkan kode untuk memisahkan string menggunakan String.Split
di C#. Anda dapat menyesuaikan perintah untuk menggunakan string dan pemisah sesuai kebutuhan Anda.
Teks berikut ini menunjukkan contoh prompt untuk Copilot Chat:
Generate C# code to use Split.String to split a string into substrings.
Input string is "You win some. You lose some." Delimiters are space and period.
Provide example output.
GitHub Copilot didukung oleh AI, sehingga kejutan dan kesalahan dimungkinkan. Untuk informasi selengkapnya, lihat tanya jawab umum Copilot.