Rumah > Java > javaTutorial > Bagaimana untuk Memisahkan Rentetan Memelihara Pembatas Menggunakan Ungkapan Biasa?

Bagaimana untuk Memisahkan Rentetan Memelihara Pembatas Menggunakan Ungkapan Biasa?

Susan Sarandon
Lepaskan: 2024-10-24 15:59:01
asal
968 orang telah melayarinya

How to Split Strings Preserving Delimiters Using Regular Expressions?

Memisahkan Rentetan dengan Pembatas Dipelihara

Apabila bekerja dengan rentetan yang mengandungi berbilang pembatas, menjadi penting untuk memisahkan rentetan kepada bahagian konstituennya semasa mengekalkan maklumat pembatas. Kaedah String.split() menyediakan mekanisme mudah untuk membelah rentetan, tetapi ia hanya mengekstrak subrentetan tanpa mengekalkan pembatas.

Untuk mencapai hasil yang diingini bagi membelah rentetan dan mengekalkan pembatas, seseorang boleh menggunakan biasa ungkapan dengan pandangan ke hadapan dan pandangan di belakang. Lookahead (?=) dan look behind (?<=) ialah sintaks khas yang membenarkan pemadanan tanpa menggunakan sebarang aksara daripada rentetan input.

Pertimbangkan contoh berikut:

1

2

3

<code class="java">String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";

 

String[] parts = input.split("((?=;)|(?<=;))");</code>

Salin selepas log masuk

Dalam ini kod:

  • Ungkapan biasa (?=;) sepadan dengan kedudukan tepat sebelum koma bertitik (;).
  • Ungkapan biasa (?<=;) sepadan dengan kedudukan hanya selepas koma bertitik (;).
  • The | operator menentukan bahawa padanan boleh berlaku untuk sama ada (?=;) atau (?<=;).
  • Kurungan paling luar melampirkan keseluruhan ungkapan dan berfungsi sebagai kurungan menangkap.

Apabila digunakan dengan kaedah split(), ungkapan biasa ini akan mengenal pasti setiap aksara pembatas (;) dan mencipta padanan kosong untuknya. Oleh itu, bahagian tatasusunan yang terhasil akan mengandungi elemen berikut:

1

[Text1, ;, Text2, ;, Text3, ;, Text4]

Salin selepas log masuk

Pendekatan ini membolehkan kami mengekalkan struktur asal rentetan sambil membahagikannya kepada komponen individunya. Ia ialah teknik yang berkuasa untuk menghuraikan rentetan kompleks dengan cara yang mengekalkan integritinya.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Memelihara Pembatas Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan