共用方式為


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

取代字串

傳回

此比對器

屬性

例外狀況

如果未成功比對,則為 。

備註

實作非終端機附加和取代步驟。

此方法會執行下列動作:

<老>

<李>

它會從輸入序列讀取字元,從附加位置開始,並將其附加至指定的字串緩衝區。 它會在讀取前一個比對之前的最後一個字元之後停止,也就是 index #start()  上的字元;- 1

</李>

<李>

它會將指定的取代字串附加至字串緩衝區。

</李>

<李>

它會將此比對器的位置設定為最後一個字元相符的索引,加上一個,也就是 。#end()

</李>

</老>

取代字串可能包含在上一個相符項目期間擷取之子序列的參考:每次出現${的名稱}或 g 都會由評估對應 #group(String) group(name)#group(int) group(g)$的結果所取代。 針對 $g,之後的第一個數位 $ 一律被視為群組參考的一部分。 如果後續數位會形成法律群組參考,則會將其併入 g。 只有數位 『0』 到 『9』 會被視為群組參考的潛在元件。 例如,如果第二個群組符合字串 "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.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 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

參數

sb
StringBuilder

目標字串產生器

replacement
String

取代字串

傳回

此比對器

屬性

備註

實作非終端機附加和取代步驟。

此方法會執行下列動作:

<老>

<李>

它會從輸入序列讀取字元,從附加位置開始,並將其附加至指定的字串產生器。 它會在讀取前一個比對之前的最後一個字元之後停止,也就是 index #start()  上的字元;- 1

</李>

<李>

它會將指定的取代字串附加至字串產生器。

</李>

<李>

它會將此比對器的位置設定為最後一個字元相符的索引,加上一個,也就是 。#end()

</李>

</老>

取代字串可能包含在上一個相符項目期間擷取的子序列參考:每次出現的 $g 都會由評估(#group(int) group g) 的結果取代。 之後 $ 的第一個數位一律被視為群組參考的一部分。 如果後續數位會形成法律群組參考,則會將其併入 g。 只有數位 『0』 到 『9』 會被視為群組參考的潛在元件。 例如,如果第二個群組符合字串 "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.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於