語言

Matcher.AppendReplacement 方法

定義

多載

名稱 Description
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

取代字串

傳回

這個匹配器

屬性

例外狀況

如果沒有成功配對。

備註

實作非終端的附加與替換步驟。

此方法執行以下動作:

<進攻線>

<李>

它從輸入序列讀取字元,從附加位置開始,並將其附加到給定的字串緩衝區。 讀取前一場比賽前的最後一個字元後,也就是索引#start()與 nbsp 字元,該字元即停止;- 1

</李>

<李>

它會將給定的替換字串附加到字串緩衝區。

</李>

<李>

它將此匹配器的附加位置設為最後匹配字元的索引,加上一,也就是 。#end()

</李>

</ol>

替換字串可能包含對前一匹配中擷取的子序列的參考:每次出現 ${名稱}$g 的出現,都會被對應 #group(String) group(name) 的 or #group(int) group(g) 評估結果所替換。 對於 $g,第一個 $ 數字總是被視為群指稱的一部分。 若後續數字能構成法律團體參考,則會納入 g。 只有數字「0」到「9」被視為群參考的潛在組成部分。 例如,如果第二組與字串 "foo"匹配,則傳遞替換字串 "$2bar" 會導致 "foobar" 附加到字串緩衝區。 在替換字串中,可以將美元符號$()作為字面值加入,方法是在前加上斜線(\$)。

請注意,替換字串中的反斜線(\)和美元符號$()可能導致結果與直接視為替換字串時不同。 美元符號可視為上述捕捉子序列的參考,反斜線則用於替換字串中的字元逃逸。

此方法設計用於與 和 #find() find 方法的#appendTail(StringBuffer) appendTail迴圈中。 以下程式碼,例如, one dog two dogs in the yard 寫入標準輸出串流:

<引用>

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());

</區塊引用>

Java 文件 java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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

取代字串

傳回

這個匹配器

屬性

備註

實作非終端的附加與替換步驟。

此方法執行以下動作:

<進攻線>

<李>

它從輸入序列中讀取字元,從附加位置開始,並將其附加到給定的字串建構器中。 讀取前一場比賽前的最後一個字元後,也就是索引#start()與 nbsp 字元,該字元即停止;- 1

</李>

<李>

它會將給定的替換字串附加到字串建構器上。

</李>

<李>

它將此匹配器的附加位置設為最後匹配字元的索引,加上一,也就是 。#end()

</李>

</ol>

替換字串可能包含對上一次匹配中擷取的子序列的參考:每次出現 $g 都會被計算 #group(int) group(g) 的結果所取代。 在 之後 $ 的第一個數字總是被視為群組參考的一部分。 若後續數字能構成法律團體參考,則會納入 g。 只有數字「0」到「9」被視為群參考的潛在組成部分。 例如,如果第二組與字串 "foo"相符,則傳遞替換字串 "$2bar" 會導致 "foobar" 附加到字串建構器上。 在替換字串中,可以將美元符號$()作為字面值加入,方法是在前加上斜線(\$)。

請注意,替換字串中的反斜線(\)和美元符號$()可能導致結果與直接視為替換字串時不同。 美元符號可視為上述捕捉子序列的參考,反斜線則用於替換字串中的字元逃逸。

此方法設計用於與 和 #find() find 方法的#appendTail(StringBuilder) appendTail迴圈中。 以下程式碼,例如, one dog two dogs in the yard 寫入標準輸出串流:

<引用>

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());

</區塊引用>

新增9。

Java 文件 java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於