.NET で最初に出現した文字列を置換します
.NET には、特定のテキスト内で最初に出現した特定の文字列を置換する方法がいくつか用意されています。
1 つの方法は、次の例のようなカスタム メソッドを使用することです。
<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」に置き換えます。ロジックは次のとおりです:
例:
<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 中国語 Web サイトの他の関連記事を参照してください。