Matcher.AppendReplacement メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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>
<李>
入力シーケンスから追加位置から文字を読み取り、指定された文字列バッファーに追加します。 前の一致の前の最後の文字、つまりインデックス #start()
& の文字を読み取った後に停止します。-
>1
。
</李>
<李>
指定された置換文字列が文字列バッファーに追加されます。
</李>
<李>
このマッチャーの追加位置を、最後に一致した文字のインデックスに加えて、1 つ、つまり .#end()
</李>
</ol>
置換文字列には、前の一致時にキャプチャされたサブシーケンスへの参照が含まれる場合があります。名前}
または $
g が出現${
するたびに、対応する#group(String) group(name)
、または#group(int) group(g)
それぞれを評価した結果に置き換えられます。 g の場合$
、その後の最初の$
数値は常にグループ参照の一部として扱われます。 後続の数値は、法的グループ参照を形成する場合は g に組み込まれます。 グループ参照の潜在的な構成要素として考慮されるのは、数字 '0' から '9' のみです。 たとえば、2 番目のグループが文字列"foo"
と一致した場合、置換文字列を渡すと、"$2bar"
"foobar"
文字列バッファーに追加されます。 円記号 () の前に円記号 () を付けることで、置換文字列にリテラルとしてドル記号 ($
\$
) を含められることがあります。
置換文字列の円記号 (\
) とドル記号 ($
) が原因で、結果がリテラル置換文字列として扱われている場合とは異なる場合があることに注意してください。 ドル記号は、前述のようにキャプチャされたサブシーケンスへの参照として扱われ、円記号は置換文字列内のリテラル文字をエスケープするために使用されます。
このメソッドは、ループ内で、およびメソッドと#find() find
共に#appendTail(StringBuffer) appendTail
使用することを目的としています。 たとえば、次のコードは 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 ドキュメントjava.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
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
パラメーター
ターゲット文字列ビルダー
- replacement
- String
置換後の文字列
戻り値
このマッチャー
- 属性
注釈
非ターミナルの追加と置換のステップを実装します。
このメソッドは、次のアクションを実行します。
<ol>
<李>
入力シーケンスから追加位置から文字を読み取り、指定された文字列ビルダーに追加します。 前の一致の前の最後の文字、つまりインデックス #start()
& の文字を読み取った後に停止します。-
>1
。
</李>
<李>
指定された置換文字列が文字列ビルダーに追加されます。
</李>
<李>
このマッチャーの追加位置を、最後に一致した文字のインデックスに加えて、1 つ、つまり .#end()
</李>
</ol>
置換文字列には、前の一致時にキャプチャされたサブシーケンスへの参照が含まれる場合があります。g が出現$
するたびに、g)
を評価した#group(int) group
(
結果に置き換えられます。 後の最初の $
数値は、常にグループ参照の一部として扱われます。 後続の数値は、法的グループ参照を形成する場合は g に組み込まれます。 グループ参照の潜在的な構成要素として考慮されるのは、数字 '0' から '9' のみです。 たとえば、2 番目のグループが文字列"foo"
と一致した場合、置換文字列を渡すと、"$2bar"
"foobar"
文字列ビルダーに追加されます。 円記号 () の前に円記号 () を付けることで、置換文字列にリテラルとしてドル記号 ($
\$
) を含められることがあります。
置換文字列の円記号 (\
) とドル記号 ($
) が原因で、結果がリテラル置換文字列として扱われている場合とは異なる場合があることに注意してください。 ドル記号は、前述のようにキャプチャされたサブシーケンスへの参照として扱われ、円記号は置換文字列内のリテラル文字をエスケープするために使用されます。
このメソッドは、ループ内で、およびメソッドと#find() find
共に#appendTail(StringBuilder) appendTail
使用することを目的としています。 たとえば、次のコードは 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 ドキュメントjava.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。