Condividi tramite


Matcher.AppendReplacement Metodo

Definizione

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>

Documentazione java per java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String).

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

sb
StringBuilder

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.

Documentazione java per java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String).

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