首頁 > 後端開發 > C++ > 如何僅替換 .NET 中字串的第一次出現?

如何僅替換 .NET 中字串的第一次出現?

Patricia Arquette
發布: 2025-01-19 06:38:09
原創
525 人瀏覽過

How Can I Replace Only the First Occurrence of a String in .NET?

在 .NET 中替換字串的第一次出現

.NET 提供多種方法來替換給定文字中特定字串的第一次出現。

一種方法是使用自訂方法,例如以下範例:

<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>
登入後複製

此方法搜尋「text」中「search」的第一次出現,並將其替換為「replace」。其邏輯如下:

  • 使用「IndexOf」取得索引。
  • 透過負索引檢查是否找不到。
  • 將出現之前的子字串與「replace」和出現之後的剩餘子字串連接起來。

例如:

<code class="language-csharp">string str = "The brown brown fox jumps over the lazy dog";

str = ReplaceFirst(str, "brown", "quick");</code>
登入後複製

此外,.NET 提供了 Regex.Replace(String, String, Int32) 方法,具有類似的功能。但是,由於其功能強大的解析器,它可能會導致更高的運行時成本。

為了方便經常使用,可以建立一個擴充方法:

<code class="language-csharp">public static class StringExtension
{
  public static string ReplaceFirst(this string text, string search, string replace)
  {
     // ...与上面相同...
  }
}</code>
登入後複製

使用此擴充方法,可以簡化範例,如下所示:

<code class="language-csharp">str = str.ReplaceFirst("brown", "quick");</code>
登入後複製

以上是如何僅替換 .NET 中字串的第一次出現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板