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
取代字串
傳回
此比對器
- 屬性
例外狀況
如果未成功比對,則為 。
備註
實作非終端機附加和取代步驟。
此方法會執行下列動作:
<老>
<李>
它會從輸入序列讀取字元,從附加位置開始,並將其附加至指定的字串緩衝區。 它會在讀取前一個比對之前的最後一個字元之後停止,也就是 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
參數
目標字串產生器
- 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 屬性授權中所述的詞彙使用。