Compartilhar via


Matcher.AppendReplacement Método

Definição

Sobrecargas

AppendReplacement(StringBuffer, String)

Implementa uma etapa de acréscimo e substituição não terminal.

AppendReplacement(StringBuilder, String)

Implementa uma etapa de acréscimo e substituição não terminal.

AppendReplacement(StringBuffer, String)

Implementa uma etapa de acréscimo e substituição não 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

O buffer de cadeia de caracteres de destino

replacement
String

A cadeia de caracteres de substituição

Retornos

Este matcher

Atributos

Exceções

se nenhuma correspondência bem-sucedida tiver sido feita.

Comentários

Implementa uma etapa de acréscimo e substituição não terminal.

Esse método executa as seguintes ações:

<Ol>

<li>

Ele lê caracteres da sequência de entrada, começando na posição de acréscimo, e os acrescenta ao buffer de sequência de caracteres fornecido. Ele pára depois de ler o último caractere que precede a partida anterior, ou seja, o caractere no índice #start() - 1.

</li>

<li>

Ele acrescenta a sequência de caracteres de substituição fornecida ao buffer de sequência de caracteres.

</li>

<li>

Ele define a posição de acréscimo desse correspondente ao índice do último caractere correspondido, mais um, ou seja, a #end().

</li>

</Ol>

A sequência de substituição pode conter referências a subsequências capturadas durante a correspondência anterior: Cada ocorrência de ${nome} ou$ g será substituída pelo resultado da avaliação do correspondente #group(String) group(name) ou #group(int) group(g) respectivamente. Para $g, o primeiro número após o $ é sempre tratado como parte da referência do grupo. Os números subsequentes são incorporados em g se formarem uma referência de grupo jurídico. Apenas os algarismos '0' a '9' são considerados como componentes potenciais da referência do grupo. Se o segundo grupo correspondesse à cadeia de caracteres "foo", por exemplo, passar a cadeia de caracteres "$2bar" de substituição faria com que "foobar" fosse acrescentado ao buffer de cadeia de caracteres. Um cifrão ($) pode ser incluído como literal na cadeia de caracteres de substituição, precedendo-o com uma barra invertida (\$).

Observe que barras invertidas (\) e cifrões ($) na cadeia de caracteres de substituição podem fazer com que os resultados sejam diferentes do que se estivesse sendo tratada como uma cadeia de caracteres de substituição literal. Os cifrões podem ser tratados como referências a subsequências capturadas, conforme descrito acima, e barras invertidas são usadas para escapar de caracteres literais na cadeia de caracteres de substituição.

Este método destina-se a ser usado em um loop juntamente com os #appendTail(StringBuffer) appendTail métodos e #find() find . O código a seguir, por exemplo, grava one dog two dogs in the yard no fluxo de saída padrão:

<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>

Documentação Java para java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

AppendReplacement(StringBuilder, String)

Implementa uma etapa de acréscimo e substituição não 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

O construtor de cadeias de caracteres de destino

replacement
String

A cadeia de caracteres de substituição

Retornos

Este matcher

Atributos

Comentários

Implementa uma etapa de acréscimo e substituição não terminal.

Esse método executa as seguintes ações:

<Ol>

<li>

Ele lê caracteres da sequência de entrada, começando na posição de acréscimo, e os acrescenta ao construtor de cadeia de caracteres fornecido. Ele pára depois de ler o último caractere que precede a partida anterior, ou seja, o caractere no índice #start() - 1.

</li>

<li>

Ele acrescenta a cadeia de caracteres de substituição fornecida ao construtor de cadeias de caracteres.

</li>

<li>

Ele define a posição de acréscimo desse correspondente ao índice do último caractere correspondido, mais um, ou seja, a #end().

</li>

</Ol>

A cadeia de substituição pode conter referências a subsequências capturadas durante a partida anterior: Cada ocorrência de $g será substituída pelo resultado da avaliação(#group(int) group de g). O primeiro número após o $ é sempre tratado como parte da referência do grupo. Os números subsequentes são incorporados em g se formarem uma referência de grupo jurídico. Apenas os algarismos '0' a '9' são considerados como componentes potenciais da referência do grupo. Se o segundo grupo correspondesse à cadeia de caracteres "foo", por exemplo, passar a cadeia de caracteres "$2bar" de substituição faria com que "foobar" fosse acrescentado ao construtor de cadeias de caracteres. Um cifrão ($) pode ser incluído como literal na cadeia de caracteres de substituição, precedendo-o com uma barra invertida (\$).

Observe que barras invertidas (\) e cifrões ($) na cadeia de caracteres de substituição podem fazer com que os resultados sejam diferentes do que se estivesse sendo tratada como uma cadeia de caracteres de substituição literal. Os cifrões podem ser tratados como referências a subsequências capturadas, conforme descrito acima, e barras invertidas são usadas para escapar de caracteres literais na cadeia de caracteres de substituição.

Este método destina-se a ser usado em um loop juntamente com os #appendTail(StringBuilder) appendTail métodos e #find() find . O código a seguir, por exemplo, grava one dog two dogs in the yard no fluxo de saída padrão:

<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>

Adicionado em 9.

Documentação Java para java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a