Bagikan melalui


Matcher.AppendReplacement Metode

Definisi

Overload

AppendReplacement(StringBuffer, String)

Menerapkan langkah tambahan dan penggantian non-terminal.

AppendReplacement(StringBuilder, String)

Menerapkan langkah tambahan dan penggantian non-terminal.

AppendReplacement(StringBuffer, String)

Menerapkan langkah tambahan dan penggantian 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

Parameter

sb
StringBuffer

Buffer string target

replacement
String

String pengganti

Mengembalikan

Pencocokan ini

Atribut

Pengecualian

jika tidak ada kecocokan yang berhasil telah dibuat.

Keterangan

Menerapkan langkah tambahan dan penggantian non-terminal.

Metode ini melakukan tindakan berikut:

<Ol>

<Li>

Ini membaca karakter dari urutan input, mulai dari posisi tambahan, dan menambahkannya ke buffer string yang diberikan. Ini berhenti setelah membaca karakter terakhir sebelum kecocokan sebelumnya, yaitu karakter di indeks #start() - 1.

</Li>

<Li>

Ini menambahkan string pengganti yang diberikan ke buffer string.

</Li>

<Li>

Ini mengatur posisi tambahan pencocokan ini ke indeks karakter terakhir yang cocok, ditambah satu, yaitu, ke #end().

</Li>

</Ol>

String pengganti mungkin berisi referensi ke sub-urutan yang diambil selama kecocokan sebelumnya: Setiap kemunculan ${nama} atau$ g akan diganti dengan hasil mengevaluasi yang sesuai #group(String) group(name) atau #group(int) group(g) masing-masing. Untuk $g, angka pertama setelah $ selalu diperlakukan sebagai bagian dari referensi grup. Angka berikutnya dimasukkan ke dalam g jika mereka akan membentuk referensi grup hukum. Hanya angka '0' hingga '9' yang dianggap sebagai komponen potensial dari referensi grup. Jika grup kedua cocok dengan string "foo", misalnya, maka meneruskan string "$2bar" pengganti akan menyebabkan "foobar" ditambahkan ke buffer string. Tanda dolar ($) dapat disertakan sebagai harfiah dalam string pengganti dengan mendahuluinya dengan garis miring terbalik (\$).

Perhatikan bahwa garis miring terbalik (\) dan tanda dolar ($) dalam string pengganti dapat menyebabkan hasilnya berbeda dari jika diperlakukan sebagai string pengganti harfiah. Tanda dolar dapat diperlakukan sebagai referensi untuk mengambil suburut seperti yang dijelaskan di atas, dan garis miring terbalik digunakan untuk menghindari karakter harfiah dalam string pengganti.

Metode ini dimaksudkan untuk digunakan dalam perulangan bersama dengan #appendTail(StringBuffer) appendTail metode dan #find() find . Kode berikut, misalnya, menulis one dog two dogs in the yard ke aliran output standar:

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

Dokumentasi Java untuk java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String).

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk

AppendReplacement(StringBuilder, String)

Menerapkan langkah tambahan dan penggantian 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

Parameter

sb
StringBuilder

Penyusun string target

replacement
String

String pengganti

Mengembalikan

Pencocokan ini

Atribut

Keterangan

Menerapkan langkah tambahan dan penggantian non-terminal.

Metode ini melakukan tindakan berikut:

<Ol>

<Li>

Ini membaca karakter dari urutan input, mulai dari posisi tambahan, dan menambahkannya ke pembangun string yang diberikan. Ini berhenti setelah membaca karakter terakhir sebelum kecocokan sebelumnya, yaitu karakter di indeks #start() - 1.

</Li>

<Li>

Ini menambahkan string pengganti yang diberikan ke pembangun string.

</Li>

<Li>

Ini mengatur posisi tambahan pencocokan ini ke indeks karakter terakhir yang cocok, ditambah satu, yaitu, ke #end().

</Li>

</Ol>

String pengganti mungkin berisi referensi ke sub-urutan yang diambil selama kecocokan sebelumnya: Setiap kemunculan g akan digantikan oleh hasil evaluasi#group(int) group( g.) $ Angka pertama setelah $ selalu diperlakukan sebagai bagian dari referensi grup. Angka berikutnya dimasukkan ke dalam g jika mereka akan membentuk referensi grup hukum. Hanya angka '0' hingga '9' yang dianggap sebagai komponen potensial dari referensi grup. Jika grup kedua cocok dengan string "foo", misalnya, meneruskan string "$2bar" pengganti akan menyebabkan "foobar" ditambahkan ke pembangun string. Tanda dolar ($) dapat disertakan sebagai harfiah dalam string pengganti dengan mendahuluinya dengan garis miring terbalik (\$).

Perhatikan bahwa garis miring terbalik (\) dan tanda dolar ($) dalam string pengganti dapat menyebabkan hasilnya berbeda dari jika diperlakukan sebagai string pengganti harfiah. Tanda dolar dapat diperlakukan sebagai referensi untuk mengambil suburut seperti yang dijelaskan di atas, dan garis miring terbalik digunakan untuk menghindari karakter harfiah dalam string pengganti.

Metode ini dimaksudkan untuk digunakan dalam perulangan bersama dengan #appendTail(StringBuilder) appendTail metode dan #find() find . Kode berikut, misalnya, menulis one dog two dogs in the yard ke aliran output standar:

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

Ditambahkan dalam 9.

Dokumentasi Java untuk java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String).

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk