Cara memisahkan string menggunakan String.Split di C#
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. Ini juga digunakan untuk memisahkan string pada karakter atau string tertentu lainnya.
Catatan
Contoh C# dalam artikel ini dijalankan di Try.NET pelari kode sebaris dan taman bermain. 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#.
Contoh String.Split
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)
{
System.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++)
{
System.Console.WriteLine($"Index {i}: <{words[i]}>");
}
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)
{
System.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.
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";
System.Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(delimiterChars);
System.Console.WriteLine($"{words.Length} words in text:");
foreach (var word in words)
{
System.Console.WriteLine($"<{word}>");
}
Instans berturut-turut dari pemisah masing-masing menghasilkan string kosong dalam array output:
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = "one\ttwo :,five six seven";
System.Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(delimiterChars);
System.Console.WriteLine($"{words.Length} words in text:");
foreach (var word in words)
{
System.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";
System.Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(separatingStrings, System.StringSplitOptions.RemoveEmptyEntries);
System.Console.WriteLine($"{words.Length} substrings in text:");
foreach (var word in words)
{
System.Console.WriteLine(word);
}
Menggunakan GitHub Copilot untuk memisahkan string
Anda dapat menggunakan GitHub Copilot di IDE Anda untuk menghasilkan kode untuk memisahkan string menggunakan String.Split
di C#.
Jika Anda menggunakan Visual Studio 2022 versi 17.8 atau yang lebih baru, Anda dapat mencoba GitHub Copilot berbasis AI di Visual Studio untuk menghasilkan kode untuk membagi string input menjadi substring berdasarkan satu atau beberapa pemisah. Kirimkan pertanyaan Anda sebagai perintah di jendela obrolan Copilot, seperti dalam contoh berikut. Anda juga dapat mengirimkan perintah menggunakan obrolan sebaris di jendela editor itu sendiri.
Catatan
GitHub Copilot didukung oleh AI, sehingga kejutan dan kesalahan dimungkinkan. Pastikan untuk memverifikasi kode atau saran yang dihasilkan. Untuk informasi selengkapnya tentang penggunaan umum GitHub Copilot, dampak produk, pengawasan manusia, dan privasi, lihat Tanya Jawab Umum GitHub Copilot.
Teks berikut menunjukkan contoh perintah untuk Obrolan Salinan:
Hasilkan kode C# untuk menggunakan Split.String membagi string menjadi substring. String input adalah "Anda memenangkan beberapa. Anda kehilangan beberapa." Pembatas adalah ruang dan periode. Berikan contoh output.
Anda dapat menyesuaikan perintah untuk menggunakan string dan pemisah sesuai kebutuhan Anda.
Anda dapat menggunakan fitur obrolan, seperti perintah garis miring, referensi ke file, metode, atau kelas, dan utas, untuk mengatur niat dan mendapatkan jawaban yang lebih baik dengan konteks tercakup. Untuk file yang sudah ada yang terbuka di IDE, Anda dapat meminta GitHub Copilot menggunakan obrolan sebaris dengan /generate code to split string1 in #Filename by delimiter spaces
.
Output berikut menunjukkan contoh respons Obrolan Salinan:
Here is an example of how you can use the Split method in C# to split the string "You win some. You lose some." using space and period as delimiters:
using System;
class Program
{
static void Main()
{
string input = "You win some. You lose some.";
char[] delimiters = new char[] { ' ', '.' };
string[] substrings = input.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
foreach (string substring in substrings)
{
Console.WriteLine(substring);
}
}
}
**Example Output**
You
win
some
You
lose
some
Saat Copilot mengembalikan blok kode, respons menyertakan opsi untuk menyalin kode, menyisipkan kode ke dalam file baru, atau mempratinjau output kode.
Catatan
Hasil Anda mungkin berbeda dari apa yang ditunjukkan dalam contoh respons. Model AI tidak deterministik, yang berarti bahwa mereka dapat mengembalikan respons yang berbeda ketika diajukan pertanyaan yang sama. Ini mungkin karena pembelajaran dan adaptasi tambahan dari waktu ke waktu, variasi bahasa, perubahan konteks, seperti riwayat obrolan Anda, dan banyak lagi.
Untuk informasi selengkapnya, lihat:
- Pusat Kepercayaan Salinan GitHub
- GitHub Copilot di Visual Studio
- GitHub Copilot di Visual Studio Code