Ganti kejadian pertama rentetan dalam .NET
.NET menyediakan beberapa cara untuk menggantikan kejadian pertama rentetan tertentu dalam teks tertentu.
Salah satu cara ialah menggunakan kaedah tersuai, seperti contoh berikut:
string ReplaceFirst(string text, string search, string replace) { int pos = text.IndexOf(search); if (pos < 0) return text; return text.Substring(0, pos) + replace + text.Substring(pos + search.Length); }
Kaedah ini mencari kejadian pertama "carian" dalam "teks" dan menggantikannya dengan "ganti". Logiknya adalah seperti berikut:
Contohnya:
string str = "The brown brown fox jumps over the lazy dog"; str = ReplaceFirst(str, "brown", "quick");
Selain itu, .NET menyediakan kaedah Regex.Replace(String, String, Int32)
, yang mempunyai fungsi yang serupa. Walau bagaimanapun, ia mungkin menanggung kos masa jalan yang lebih tinggi kerana penghurai yang berkuasa.
Untuk memudahkan penggunaan yang kerap, anda boleh membuat kaedah sambungan:
public static class StringExtension { public static string ReplaceFirst(this string text, string search, string replace) { // ...与上面相同... } }
Menggunakan kaedah sambungan ini, contoh boleh dipermudahkan seperti berikut:
str = str.ReplaceFirst("brown", "quick");
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Hanya Kejadian Pertama Rentetan dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!