Matcher.AppendReplacement Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| AppendReplacement(StringBuffer, String) |
Implementa un passaggio di accodamento e sostituzione non terminale. |
| AppendReplacement(StringBuilder, String) |
Implementa un passaggio di accodamento e sostituzione non terminale. |
AppendReplacement(StringBuffer, String)
Implementa un passaggio di accodamento e sostituzione non terminale.
[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
Parametri
- sb
- StringBuffer
Buffer della stringa di destinazione
- replacement
- String
Stringa da usare per la sostituzione
Restituisce
Questo matcher
- Attributi
Eccezioni
se non è stata eseguita alcuna corrispondenza con esito positivo.
Commenti
Implementa un passaggio di accodamento e sostituzione non terminale.
Questo metodo esegue le azioni seguenti:
<olo>
<li>
Legge i caratteri dalla sequenza di input, a partire dalla posizione di accodamento e li aggiunge al buffer di stringa specificato. Si interrompe dopo aver letto l'ultimo carattere precedente alla corrispondenza precedente, ovvero il carattere in corrispondenza dell'indice #start() - 1.
</li>
<li>
Aggiunge la stringa di sostituzione specificata al buffer di stringa.
</li>
<li>
Imposta la posizione di accodamento di questo matcher sull'indice dell'ultimo carattere corrispondente, più uno, ovvero su #end().
</li>
</olo>
La stringa di sostituzione può contenere riferimenti alle sottosequenze acquisite durante la corrispondenza precedente: ogni occorrenza di ${nome} o $g verrà sostituita rispettivamente dal risultato della valutazione dell'oggetto corrispondente #group(String) group(name) o #group(int) group(g) . Per $g, il primo numero dopo l'oggetto $ viene sempre considerato come parte del riferimento al gruppo. I numeri successivi vengono incorporati in g se formano un riferimento a un gruppo legale. Solo i numerali da '0' a '9' vengono considerati come componenti potenziali del riferimento al gruppo. Se il secondo gruppo corrisponde alla stringa "foo", ad esempio, il passaggio della stringa "$2bar" di sostituzione causerebbe "foobar" l'accodamento al buffer di stringa. Un segno di dollaro ($) può essere incluso come valore letterale nella stringa di sostituzione precedendolo con una barra rovesciata (\$).
Si noti che le barre rovesciate () e i segni di dollaro (\$) nella stringa di sostituzione possono causare risultati diversi rispetto a quelli considerati come stringa di sostituzione letterale. I segni di dollaro possono essere considerati come riferimenti alle sottosequenze acquisite come descritto in precedenza e le barre rovesciate vengono usate per eseguire l'escape dei caratteri letterali nella stringa di sostituzione.
Questo metodo deve essere usato in un ciclo insieme ai #appendTail(StringBuffer) appendTail metodi e #find() find . Il codice seguente, ad esempio, scrive one dog two dogs in the yard nel flusso di output standard:
<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>
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
AppendReplacement(StringBuilder, String)
Implementa un passaggio di accodamento e sostituzione non terminale.
[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
Parametri
Generatore di stringhe di destinazione
- replacement
- String
Stringa da usare per la sostituzione
Restituisce
Questo matcher
- Attributi
Commenti
Implementa un passaggio di accodamento e sostituzione non terminale.
Questo metodo esegue le azioni seguenti:
<olo>
<li>
Legge i caratteri dalla sequenza di input, a partire dalla posizione di accodamento e li aggiunge al generatore di stringhe specificato. Si interrompe dopo aver letto l'ultimo carattere precedente alla corrispondenza precedente, ovvero il carattere in corrispondenza dell'indice #start() - 1.
</li>
<li>
Aggiunge la stringa di sostituzione specificata al generatore di stringhe.
</li>
<li>
Imposta la posizione di accodamento di questo matcher sull'indice dell'ultimo carattere corrispondente, più uno, ovvero su #end().
</li>
</olo>
La stringa di sostituzione può contenere riferimenti alle sottosequenze acquisite durante la corrispondenza precedente: ogni occorrenza di g verrà sostituita dal risultato della valutazione(#group(int) group di$ g.) Il primo numero dopo l'oggetto $ viene sempre considerato come parte del riferimento al gruppo. I numeri successivi vengono incorporati in g se formano un riferimento a un gruppo legale. Solo i numerali da '0' a '9' vengono considerati come componenti potenziali del riferimento al gruppo. Se il secondo gruppo corrisponde alla stringa , ad esempio, il passaggio della stringa "foo""$2bar" di sostituzione causerebbe "foobar" l'aggiunta al generatore di stringhe. Un segno di dollaro ($) può essere incluso come valore letterale nella stringa di sostituzione precedendolo con una barra rovesciata (\$).
Si noti che le barre rovesciate () e i segni di dollaro (\$) nella stringa di sostituzione possono causare risultati diversi rispetto a quelli considerati come stringa di sostituzione letterale. I segni di dollaro possono essere considerati come riferimenti alle sottosequenze acquisite come descritto in precedenza e le barre rovesciate vengono usate per eseguire l'escape dei caratteri letterali nella stringa di sostituzione.
Questo metodo deve essere usato in un ciclo insieme ai #appendTail(StringBuilder) appendTail metodi e #find() find . Il codice seguente, ad esempio, scrive one dog two dogs in the yard nel flusso di output standard:
<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>
Aggiunta in 9.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.