Matcher.AppendReplacement Método

Definição

Sobrecargas

Nome Description
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 correspondente

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 cadeia de caracteres fornecido. Ele é interrompido depois de ler o último caractere anterior à correspondência anterior, ou seja, o caractere no índice #start() - 1.

</li>

<li>

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

</li>

<li>

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

</li>

</ol>

A cadeia de caracteres 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. Por $exemplo, 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 legal. Somente os numerais '0' a '9' são considerados como componentes potenciais da referência de grupo. Se o segundo grupo correspondesse à cadeia "foo"de caracteres, por exemplo, passar a cadeia de caracteres "$2bar" de substituição causaria "foobar" a anexação ao buffer de cadeia de caracteres. Um sinal de dólar ($) pode ser incluído como um literal na cadeia de caracteres de substituição precedendo-o com uma barra invertida (\$).

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

Esse método destina-se a ser usado em um loop junto com os métodos e #find() find os #appendTail(StringBuffer) appendTail métodos. 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>

Java documentação 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 usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

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 correspondente

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 cadeias de caracteres especificado. Ele é interrompido depois de ler o último caractere anterior à correspondência 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 para o índice do último caractere correspondente, mais um, ou seja, para #end().

</li>

</ol>

A cadeia de caracteres de substituição pode conter referências a subsequências capturadas durante a correspondência anterior: cada ocorrência de $g será substituída pelo resultado da avaliação #group(int) group(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 legal. Somente os numerais '0' a '9' são considerados como componentes potenciais da referência de grupo. Se o segundo grupo correspondesse à cadeia "foo"de caracteres, por exemplo, passar a cadeia de caracteres "$2bar" de substituição faria "foobar" com que ela fosse acrescentada ao construtor de cadeias de caracteres. Um sinal de dólar ($) pode ser incluído como um literal na cadeia de caracteres de substituição precedendo-o com uma barra invertida (\$).

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

Esse método destina-se a ser usado em um loop junto com os métodos e #find() find os #appendTail(StringBuilder) appendTail métodos. 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.

Java documentação 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 usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a