Matcher.AppendReplacement Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
AppendReplacement(StringBuffer, String) |
Implementa un paso de anexión y reemplazo que no sea terminal. |
AppendReplacement(StringBuilder, String) |
Implementa un paso de anexión y reemplazo que no sea terminal. |
AppendReplacement(StringBuffer, String)
Implementa un paso de anexión y reemplazo que no sea 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
Parámetros
- sb
- StringBuffer
Búfer de cadena de destino
- replacement
- String
Cadena que se va a reemplazar
Devoluciones
Este buscador de coincidencias
- Atributos
Excepciones
si no se ha realizado ninguna coincidencia correcta.
Comentarios
Implementa un paso de anexión y reemplazo que no sea terminal.
Este método realiza las siguientes acciones:
<Ol>
<Li>
Lee caracteres de la secuencia de entrada, comenzando en la posición anexada y los anexa al búfer de cadena especificado. Se detiene después de leer el último carácter anterior a la coincidencia anterior, es decir, el carácter en el índice #start()
-
1
.
</Li>
<Li>
Anexa la cadena de reemplazo dada al búfer de cadenas.
</Li>
<Li>
Establece la posición anexada de este buscador de coincidencias en el índice del último carácter coincidente, más uno, es decir, en #end()
.
</Li>
</Ol>
La cadena de reemplazo puede contener referencias a subsecuencias capturadas durante la coincidencia anterior: cada aparición del ${
nombre}
o$
g se reemplazará por el resultado de evaluar el correspondiente #group(String) group(name)
o #group(int) group(g)
respectivamente. Para $
g, el primer número después de que $
siempre se trate como parte de la referencia de grupo. Los números posteriores se incorporan a g si formarían una referencia de grupo legal. Solo los números '0' a '9' se consideran componentes potenciales de la referencia de grupo. Si el segundo grupo coincide con la cadena "foo"
, por ejemplo, pasar la cadena "$2bar"
de reemplazo provocaría "foobar"
que se anexase al búfer de cadenas. Un signo de dólar ($
) se puede incluir como un literal en la cadena de reemplazo antes de él con una barra diagonal inversa (\$
).
Tenga en cuenta que las barras diagonales inversas (\
) y los signos de dólar ($
) de la cadena de reemplazo pueden hacer que los resultados sean diferentes de si se trataran como una cadena de reemplazo literal. Los signos de dólar se pueden tratar como referencias a subsecuencias capturadas como se describió anteriormente, y las barras diagonales inversas se usan para escapar caracteres literales en la cadena de reemplazo.
Este método está diseñado para usarse en un bucle junto con los #appendTail(StringBuffer) appendTail
métodos y #find() find
. El código siguiente, por ejemplo, escribe one dog two dogs in the yard
en el flujo de salida estándar:
<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>
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Se aplica a
AppendReplacement(StringBuilder, String)
Implementa un paso de anexión y reemplazo que no sea 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
Parámetros
Generador de cadenas de destino
- replacement
- String
Cadena que se va a reemplazar
Devoluciones
Este buscador de coincidencias
- Atributos
Comentarios
Implementa un paso de anexión y reemplazo que no sea terminal.
Este método realiza las siguientes acciones:
<Ol>
<Li>
Lee caracteres de la secuencia de entrada, comenzando en la posición de anexión y los anexa al generador de cadenas especificado. Se detiene después de leer el último carácter anterior a la coincidencia anterior, es decir, el carácter en el índice #start()
-
1
.
</Li>
<Li>
Anexa la cadena de reemplazo especificada al generador de cadenas.
</Li>
<Li>
Establece la posición anexada de este buscador de coincidencias en el índice del último carácter coincidente, más uno, es decir, en #end()
.
</Li>
</Ol>
La cadena de reemplazo puede contener referencias a subsecuencias capturadas durante la coincidencia anterior: cada aparición de $
g se reemplazará por el resultado de evaluar(
#group(int) group
g)
. El primer número después de que $
siempre se trate como parte de la referencia de grupo. Los números posteriores se incorporan a g si formarían una referencia de grupo legal. Solo los números '0' a '9' se consideran componentes potenciales de la referencia de grupo. Si el segundo grupo coincide con la cadena "foo"
, por ejemplo, pasar la cadena "$2bar"
de reemplazo provocaría "foobar"
que se anexase al generador de cadenas. Un signo de dólar ($
) se puede incluir como un literal en la cadena de reemplazo antes de él con una barra diagonal inversa (\$
).
Tenga en cuenta que las barras diagonales inversas (\
) y los signos de dólar ($
) de la cadena de reemplazo pueden hacer que los resultados sean diferentes de si se trataran como una cadena de reemplazo literal. Los signos de dólar se pueden tratar como referencias a subsecuencias capturadas como se describió anteriormente, y las barras diagonales inversas se usan para escapar caracteres literales en la cadena de reemplazo.
Este método está diseñado para usarse en un bucle junto con los #appendTail(StringBuilder) appendTail
métodos y #find() find
. El código siguiente, por ejemplo, escribe one dog two dogs in the yard
en el flujo de salida estándar:
<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>
Agregado en 9.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.