Matcher.AppendReplacement メソッド

定義

オーバーロード

名前 説明
AppendReplacement(StringBuffer, String)

非ターミナルの追加と置換のステップを実装します。

AppendReplacement(StringBuilder, String)

非ターミナルの追加と置換のステップを実装します。

AppendReplacement(StringBuffer, String)

非ターミナルの追加と置換のステップを実装します。

[Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;", "")]
public Java.Util.Regex.Matcher AppendReplacement(Java.Lang.StringBuffer sb, string replacement);
[<Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;", "")>]
member this.AppendReplacement : Java.Lang.StringBuffer * string -> Java.Util.Regex.Matcher

パラメーター

sb
StringBuffer

ターゲット文字列バッファー

replacement
String

置換後の文字列

返品

このマッチャー

属性

例外

成功した一致が行われなかった場合は 。

注釈

非ターミナルの追加と置換のステップを実装します。

このメソッドは、次のアクションを実行します。

<ol>

<li>

入力シーケンスから追加位置から文字を読み取り、指定された文字列バッファーに追加します。 前の一致の前の最後の文字、つまりインデックス #start() -の文字を読み取った後に停止します。>1

</li>

<li>

指定された置換文字列が文字列バッファーに追加されます。

</li>

<li>

このマッチャーの追加位置を、最後に一致した文字のインデックスに加えて、1 つ、つまり #end()に設定します。

</li>

</ol>

置換文字列には、前の一致時にキャプチャされたサブシーケンスへの参照が含まれる場合があります。 ${name} または $g が、対応する #group(String) group(name) または #group(int) group(g) を評価した結果に置き換えられます。 $ g の場合、$の後の最初の数値は常にグループ参照の一部として扱われます。 後続の数値は、法的グループ参照を形成する場合は g に組み込まれます。 グループ参照の潜在的な構成要素として考慮されるのは、数字 '0' から '9' のみです。 たとえば、2 番目のグループが文字列 "foo"と一致した場合、置換文字列 "$2bar" を渡すと、 "foobar" が文字列バッファーに追加されます。 ドル記号 ($) は、置換文字列の前に円記号 (\$) を付けることでリテラルとして含まれる場合があります。

置換文字列の円記号 (\) とドル記号 ($) によって、結果がリテラル置換文字列として扱われている場合とは異なる場合があることに注意してください。 ドル記号は、前述のようにキャプチャされたサブシーケンスへの参照として扱われ、円記号は置換文字列内のリテラル文字をエスケープするために使用されます。

このメソッドは、 #appendTail(StringBuffer) appendTail メソッドと #find() find メソッドと共にループで使用することを目的としています。 たとえば、次のコードは、標準出力ストリームに one dog two dogs in the yard を書き込みます。

<blockquote>

Pattern p = Pattern.compile("cat");
            Matcher m = p.matcher("one cat two cats in the yard");
            StringBuffer sb = new StringBuffer();
            while (m.find()) {
                m.appendReplacement(sb, "dog");
            }
            m.appendTail(sb);
            System.out.println(sb.toString());

</blockquote>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

AppendReplacement(StringBuilder, String)

非ターミナルの追加と置換のステップを実装します。

[Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/util/regex/Matcher;", "", ApiSince=34)]
public Java.Util.Regex.Matcher AppendReplacement(Java.Lang.StringBuilder sb, string replacement);
[<Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/util/regex/Matcher;", "", ApiSince=34)>]
member this.AppendReplacement : Java.Lang.StringBuilder * string -> Java.Util.Regex.Matcher

パラメーター

sb
StringBuilder

ターゲット文字列ビルダー

replacement
String

置換後の文字列

返品

このマッチャー

属性

注釈

非ターミナルの追加と置換のステップを実装します。

このメソッドは、次のアクションを実行します。

<ol>

<li>

入力シーケンスから追加位置から文字を読み取り、指定された文字列ビルダーに追加します。 前の一致の前の最後の文字、つまりインデックス #start() -の文字を読み取った後に停止します。>1

</li>

<li>

指定された置換文字列が文字列ビルダーに追加されます。

</li>

<li>

このマッチャーの追加位置を、最後に一致した文字のインデックスに加えて、1 つ、つまり #end()に設定します。

</li>

</ol>

置換文字列には、前の一致でキャプチャされたサブシーケンスへの参照が含まれる場合があります。 $g が出現するたびに、 #group(int) group(g)を評価した結果に置き換えられます。 $の後の最初の数値は、常にグループ参照の一部として扱われます。 後続の数値は、法的グループ参照を形成する場合は g に組み込まれます。 グループ参照の潜在的な構成要素として考慮されるのは、数字 '0' から '9' のみです。 たとえば、2 番目のグループが文字列 "foo"と一致した場合、置換文字列 "$2bar" を渡すと、 "foobar" が文字列ビルダーに追加されます。 ドル記号 ($) は、置換文字列の前に円記号 (\$) を付けることでリテラルとして含まれる場合があります。

置換文字列の円記号 (\) とドル記号 ($) によって、結果がリテラル置換文字列として扱われている場合とは異なる場合があることに注意してください。 ドル記号は、前述のようにキャプチャされたサブシーケンスへの参照として扱われ、円記号は置換文字列内のリテラル文字をエスケープするために使用されます。

このメソッドは、 #appendTail(StringBuilder) appendTail メソッドと #find() find メソッドと共にループで使用することを目的としています。 たとえば、次のコードは、標準出力ストリームに one dog two dogs in the yard を書き込みます。

<blockquote>

Pattern p = Pattern.compile("cat");
            Matcher m = p.matcher("one cat two cats in the yard");
            StringBuilder sb = new StringBuilder();
            while (m.find()) {
                m.appendReplacement(sb, "dog");
            }
            m.appendTail(sb);
            System.out.println(sb.toString());

</blockquote>

9 に追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象