Compartir a través de


Matcher.AppendReplacement Método

Definición

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>

Documentación de Java para java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String).

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

sb
StringBuilder

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.

Documentación de Java para java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String).

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