Untuk menghapus tag HTML dari string, Anda dapat menggunakan ekspresi reguler untuk mencocokkan dan mengganti tag dengan string kosong Show
Berikut adalah contoh bagaimana Anda dapat melakukan ini di Jawa Fungsi ini menggunakan ekspresi reguler untuk mencocokkan urutan karakter apa pun yang dimulai dengan karakter Berikut adalah contoh bagaimana Anda dapat menggunakan fungsi Perhatikan bahwa fungsi ini hanya menghapus tag dari string input, dan tidak mengurai HTML untuk mengekstrak konten tag. Jika Anda perlu mengekstrak konten tag, Anda perlu menggunakan parser HTML atau pustaka yang dapat mem-parsing HTML Hapus tag HTML dari String di Java Contoh menunjukkan cara menghapus tag HTML dari String di Java menggunakan ekspresi reguler dan pustaka Jsoup Bagaimana cara menghapus tag HTML dari String di Java?You can remove simple HTML tags from a string using a regular expression. Usually, HTML tags are enclosed in “<” and “>” brackets, so we are going to use the 1 2 3 4 < - tanda kurung mulai [^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">" * - nol kali atau lebih > - diikuti dengan tanda kurung tutup Contoh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 paket com. contoh kode java. contoh string;
public class RemoveHTMLTagsFromStringExample {
publik statis batal utama(String[] args) {
String[] strHTMLTexts = { """""""""""""", """""""""""""", " peringatan('javascript');", ", ", " Jack & Jones", " };
//cocokkan dengan tag HTML String strRegEx = ";
//ganti dengan string kosong untuk menghapusnya untuk(String str : strHTMLTexts){ Sistem. keluar. println( str. replaceAll(strRegEx, ") ); }
} } Keluaran 1 2 3 4 5 6 7 Tautan HTML kolom1 waspada('javascript'); jeda baris teks tebal Jack & Jones Ekspresi reguler di atas berfungsi dengan baik kecuali tidak menangani entitas HTML seperti " " dan "&". Bergantung pada persyaratan, Anda dapat menggantinya dengan karakter yang setara satu per satu atau menghapusnya menggunakan pola 1 2 3 & - & karakter * - diikuti oleh karakter apa pun ?; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 String[] strHTMLTexts = { """"""""""""""""""", """"""""""""""""""", " peringatan('javascript');", ", ", " Jack & Jones", " };
String strRegEx = ";
untuk(String str . strHTMLTexts){
str = str. replaceAll(strRegEx, ");
//ganti dengan spasi str = str. ganti(" ", " "); //ganti & dengan & str = str. ganti("&", "&");
//ATAU hapus semua entitas HTML str = str. gantiSemua("&. *?;", "");
Sistem. keluar. println(str); } Keluaran 1 2 3 4 5 6 7 Tautan HTML kolom1 waspada('javascript'); jeda baris teks tebal Jack & Jones naskah Bagaimana cara menghapus tag HTML tertentu dari String?What if you want to remove only a specific HTML tag from String? You can do that using regular expression too. Suppose you want to remove “a” tag from the String “HTMLBoldlink”. You can use the 1 2 3 4 5 6 < - braket pembuka [/]? a - diikuti oleh karakter "a". [^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">" * - nol kali atau lebih > - diikuti dengan tanda kurung tutup ">" 1 2 3 4 String strHtml = ";
String strRegEx = "; Sistem. keluar. println( strHtml. replaceAll(strRegEx, ") ); Keluaran 1 HTMLBoldlink Mari jalankan beberapa pengujian lagi untuk memastikan bahwa polanya berfungsi 1 2 3 4 5 6 7 8 9 10 11 String[] strHtmlLinks = { """"""""""""""""""""""""""""", """"""""""""""""""""""""""""", "< a href='#'>, "< a href='#'>< / a >" };
String strRegEx = ";
untuk(String html . strHtmlLinks) Sistem. keluar. println(html. replaceAll(strRegEx, ")); Keluaran 1 2 3 4 HTMLBoldlink < a href='#'> < a href='#'>< / a > HTML is not a strict language. As you can see from the output, our pattern failed when an HTML tag was specified in the upper case or having multiple spaces. Let’s modify the pattern to “(?i)<[\\s]*[/]?[\\s]*a[^>]*>” to cover these scenarios. 1 2 3 4 5 6 7 8 9 (?i) - perbandingan tidak peka huruf besar-kecil < - tanda kurung buka "<" [\\s]* - diikuti dengan nol spasi atau lebih [/]? [\\s]* - diikuti dengan nol spasi atau lebih a - diikuti dengan "a" [^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">" * - nol kali atau lebih > - diikuti dengan tanda kurung tutup ">" Contoh 1 2 3 4 5 6 7 8 9 10 11 String[] strHtmlLinks = { """"""""""""""""""""""""""""""""""", """"""""""""""""""""""""""""""""""", "< a href='#'>Tautan, "< a href='#'>Tautan< / a >" };
String strRegEx = "(?i);
untuk(String html . strHtmlLinks) Sistem. keluar. println( html. replaceAll(strRegEx, ") ); Keluaran 1 2 3 4 HTMLBoldlink Tautan Tautan Tautan Apakah disarankan menggunakan ekspresi reguler untuk menghapus tag HTML dari String?Jawaban singkatnya adalah TIDAK. Sampai sekarang kita hanya melihat skenario bahagia. Pertimbangkan di bawah ini diberikan contoh string HTML 1 2 3 4 String strHtml = ";
String strRegEx = "; Sistem. keluar. println( strHtml. replaceAll( strRegEx, ") ); Keluaran 1 Hilang Teks penting kami telah dihapus oleh ekspresi reguler karena HTML tidak dibuat dengan baik. Sangat umum untuk menemukan HTML cacat seperti itu yang tidak dapat diurus oleh ekspresi reguler. Pertimbangkan contoh lain 1 2 3 4 String strHtml = """""""""""""""""""""""""""""""""""""""""""";
String strRegEx = "; Sistem. keluar. println( strHtml. replaceAll(strRegEx, ") ); Keluaran 1 Matematika. a c Apa yang harus saya gunakan untuk menghapus tag HTML?Jika Anda menghapus satu atau dua tag dari string dan Anda benar-benar yakin bahwa input HTML dibuat dengan baik, menggunakan ekspresi reguler tidak apa-apa. Dalam semua skenario lainnya, menggunakan parser HTML adalah cara yang harus dilakukan Salah satu parser tersebut adalah Jsoup. Inilah cara Anda menghapus elemen HTML dari string menggunakan contoh Jsoup 1 2 3 4 5 String strHtml = """""""""""""""""""""""""""""""""""""""""""""""""";
String teks = Jsoup. mengurai(strHtml). teks();
Sistem. keluar. println(teks); Keluaran 1 Matematika. a < b & b > c Pustaka Jsoup bahkan memungkinkan Anda untuk memasukkan elemen daftar putih jika Anda ingin mempertahankan beberapa tag sambil menghapus yang lainnya Contoh ini adalah bagian dari tutorial Java String, Tutorial Java RegEx, dan Tutorial Jsoup Tolong beri tahu saya pandangan Anda di bagian komentar di bawah Tentang PenulisRahim Saya memiliki gelar master dalam ilmu komputer dan lebih dari 18 tahun pengalaman merancang dan mengembangkan aplikasi Java. Saya telah bekerja dengan banyak perusahaan 500 keberuntungan sebagai Arsitek eCommerce. Ikuti saya di LinkedIn dan Facebook |