Matcher.AppendReplacement Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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>
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
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.
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.