Partager via


Matcher.AppendReplacement Méthode

Définition

Surcharges

AppendReplacement(StringBuffer, String)

Implémente une étape d’ajout et de remplacement non terminal.

AppendReplacement(StringBuilder, String)

Implémente une étape d’ajout et de remplacement non terminal.

AppendReplacement(StringBuffer, String)

Implémente une étape d’ajout et de remplacement non terminal.

[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

Paramètres

sb
StringBuffer

Mémoire tampon de chaîne cible

replacement
String

Chaîne de remplacement

Retours

Ce matcheur

Attributs

Exceptions

si aucune correspondance réussie n’a été effectuée.

Remarques

Implémente une étape d’ajout et de remplacement non terminal.

Cette méthode effectue les actions suivantes :

<ol>

<Li>

Il lit les caractères de la séquence d’entrée, en commençant à la position d’ajout et les ajoute à la mémoire tampon de chaîne donnée. Il s’arrête après avoir lu le dernier caractère précédant la correspondance précédente, c’est-à-dire le caractère à l’index #start()  ;-  ;1.

</Li>

<Li>

Il ajoute la chaîne de remplacement donnée à la mémoire tampon de chaîne.

</Li>

<Li>

Il définit la position d’ajout de ce matcheur sur l’index du dernier caractère mis en correspondance, plus un, c’est-à-dire #end()sur .

</Li>

</ol>

La chaîne de remplacement peut contenir des références aux sous-séquences capturées lors de la correspondance précédente : chaque occurrence du ${nom} ou $du g sera remplacée par le résultat de l’évaluation des correspondances correspondantes #group(String) group(name) ou #group(int) group(g) respectivement. Par $exemple, le premier nombre après le $ traitement est toujours traité dans le cadre de la référence de groupe. Les numéros suivants sont incorporés dans g s’ils forment une référence de groupe juridique. Seuls les chiffres '0' à '9' sont considérés comme des composants potentiels de la référence de groupe. Si le deuxième groupe correspond à la chaîne "foo", par exemple, le passage de la chaîne "$2bar" de remplacement entraîne "foobar" l’ajout de la mémoire tampon de chaîne. Un signe dollar ($) peut être inclus en tant que littéral dans la chaîne de remplacement en le précédant par une barre oblique inverse (\$).

Notez que les barres obliques inverses (\) et les signes dollar ($) dans la chaîne de remplacement peuvent faire en sorte que les résultats soient différents de ceux qui étaient traités comme une chaîne de remplacement littérale. Les signes dollar peuvent être traités comme des références aux sous-séquences capturées comme décrit ci-dessus, et les barres obliques inverses sont utilisées pour échapper des caractères littéraux dans la chaîne de remplacement.

Cette méthode est destinée à être utilisée dans une boucle avec les méthodes et #find() find les #appendTail(StringBuffer) appendTail méthodes. Le code suivant, par exemple, écrit one dog two dogs in the yard dans le flux de sortie 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>

Documentation Java pour java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

AppendReplacement(StringBuilder, String)

Implémente une étape d’ajout et de remplacement non terminal.

[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

Paramètres

sb
StringBuilder

Générateur de chaînes cible

replacement
String

Chaîne de remplacement

Retours

Ce matcheur

Attributs

Remarques

Implémente une étape d’ajout et de remplacement non terminal.

Cette méthode effectue les actions suivantes :

<ol>

<Li>

Il lit les caractères de la séquence d’entrée, en commençant à la position d’ajout et les ajoute au générateur de chaînes donné. Il s’arrête après avoir lu le dernier caractère précédant la correspondance précédente, c’est-à-dire le caractère à l’index #start()  ;-  ;1.

</Li>

<Li>

Il ajoute la chaîne de remplacement donnée au générateur de chaînes.

</Li>

<Li>

Il définit la position d’ajout de ce matcheur sur l’index du dernier caractère mis en correspondance, plus un, c’est-à-dire #end()sur .

</Li>

</ol>

La chaîne de remplacement peut contenir des références aux sous-séquences capturées pendant la correspondance précédente : chaque occurrence de $g sera remplacée par le résultat de l’évaluation(#group(int) group du g.) Le premier nombre après le $ traitement est toujours traité dans le cadre de la référence de groupe. Les numéros suivants sont incorporés dans g s’ils forment une référence de groupe juridique. Seuls les chiffres '0' à '9' sont considérés comme des composants potentiels de la référence de groupe. Si le deuxième groupe correspond à la chaîne"foo", par exemple, le passage de la chaîne de remplacement entraîne "foobar" l’ajout de la chaîne "$2bar" au générateur de chaînes. Un signe dollar ($) peut être inclus en tant que littéral dans la chaîne de remplacement en le précédant par une barre oblique inverse (\$).

Notez que les barres obliques inverses (\) et les signes dollar ($) dans la chaîne de remplacement peuvent faire en sorte que les résultats soient différents de ceux qui étaient traités comme une chaîne de remplacement littérale. Les signes dollar peuvent être traités comme des références aux sous-séquences capturées comme décrit ci-dessus, et les barres obliques inverses sont utilisées pour échapper des caractères littéraux dans la chaîne de remplacement.

Cette méthode est destinée à être utilisée dans une boucle avec les méthodes et #find() find les #appendTail(StringBuilder) appendTail méthodes. Le code suivant, par exemple, écrit one dog two dogs in the yard dans le flux de sortie 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>

Ajouté dans 9.

Documentation Java pour java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à