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:
<code class="language-csharp">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); }</code>
Kaedah ini mencari kejadian pertama "carian" dalam "teks" dan menggantikannya dengan "ganti". Logiknya adalah seperti berikut:
Contohnya:
<code class="language-csharp">string str = "The brown brown fox jumps over the lazy dog"; str = ReplaceFirst(str, "brown", "quick");</code>
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:
<code class="language-csharp">public static class StringExtension { public static string ReplaceFirst(this string text, string search, string replace) { // ...与上面相同... } }</code>
Menggunakan kaedah sambungan ini, contoh boleh dipermudahkan seperti berikut:
<code class="language-csharp">str = str.ReplaceFirst("brown", "quick");</code>
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!