情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

StringBuilder.Replace メソッド (String, String)

2013/12/12

このインスタンスに出現する指定文字列をすべて、指定した別の文字列に置換します。

Namespace:  System.Text
アセンブリ:  mscorlib (mscorlib.dll 内)

public StringBuilder Replace(
	string oldValue,
	string newValue
)

パラメーター

oldValue
型: System.String
置換する文字列。
newValue
型: System.String
oldValue を置換する文字列、または null

戻り値

型: System.Text.StringBuilder
oldValue のすべてのインスタンスが newValue に置換されたこのインスタンスへの参照。

例外条件
ArgumentNullException

oldValuenull です。

ArgumentException

oldvalue の長さが 0 です。

ArgumentOutOfRangeException

このインスタンスの値を拡大すると、最大容量を超えます。

置換する文字列は、序数に基づいてチェックされます。つまり、置換はカルチャを認識しません。newValuenull の場合は、見つかったすべての oldValue が削除されます。このメソッドでは、大文字と小文字が区別されます。

バージョンについてのメモ

Windows Phone

 文字列に null 文字があるときにこのメソッドをコールした場合、最初の null 文字で新しい文字列は切り捨てられます。

Replace メソッドのコード例を次に示します。


using System;
using System.Text;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      //                0----+----1----+----2----+----3----+----4---
      //                01234567890123456789012345678901234567890123
      string str = "The quick br!wn d#g jumps #ver the lazy cat.";
      StringBuilder sb = new StringBuilder(str);

      outputBlock.Text += "\n";
      outputBlock.Text += "StringBuilder.Replace method" + "\n";
      outputBlock.Text += "\n";

      outputBlock.Text += "Original value:" + "\n";
      Show(outputBlock, sb);

      sb.Replace('#', '!', 15, 29);        // Some '#' -> '!'
      Show(outputBlock, sb);
      sb.Replace('!', 'o');                // All '!' -> 'o'
      Show(outputBlock, sb);
      sb.Replace("cat", "dog");            // All "cat" -> "dog"
      Show(outputBlock, sb);
      sb.Replace("dog", "fox", 15, 20);    // Some "dog" -> "fox"

      outputBlock.Text += "Final value:" + "\n";
      Show(outputBlock, sb);
   }

   public static void Show(System.Windows.Controls.TextBlock outputBlock, StringBuilder sbs)
   {
      string rule1 = "0----+----1----+----2----+----3----+----4---";
      string rule2 = "01234567890123456789012345678901234567890123";

      outputBlock.Text += rule1 + "\n";
      outputBlock.Text += rule2 + "\n";
      outputBlock.Text += String.Format("{0}", sbs.ToString()) + "\n";
      outputBlock.Text += "\n";
   }
}
/*
This example produces the following results:

StringBuilder.Replace method

Original value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d#g jumps #ver the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d!g jumps !ver the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy cat.

0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy dog.

Final value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown fox jumps over the lazy dog.

*/


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: