Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Memisahkan Rentetan pada Ruang Sambil Memelihara Subrentetan Dipetik di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-11-18 08:22:02
asal
333 orang telah melayarinya

How to Split Strings on Spaces While Preserving Quoted Substrings in Java?

Memisahkan Rentetan pada Ruang, Mengekalkan Subrentetan Dipetik dalam Java

Pemisahan rentetan Java ialah alat yang serba boleh, tetapi ia boleh tersandung pada cabaran apabila menghadapi subrentetan yang dipetik. Untuk memisahkan rentetan berdasarkan ruang dengan cekap sambil menganggap subrentetan yang dipetik sebagai satu perkataan, pertimbangkan kaedah berikut:

Menggunakan ungkapan biasa, penyelesaian itu memanfaatkan corak tertentu yang mengenal pasti token sebagai sama ada urutan bukan petikan bukan- aksara ruang putih atau urutan petikan yang mengandungi sebarang bilangan aksara. Hasilnya ialah senarai elemen token yang mengekalkan subrentetan yang dipetik dengan tepat.

Pattern pattern = Pattern.compile("([^\"]\S*|\".+?\")\s*");
Matcher matcher = pattern.matcher(str);
List<String> tokens = new ArrayList<>();

while (matcher.find()) {
    String token = matcher.group(1);
    tokens.add(token.replace("\"", "")); // Remove surrounding quotes if needed
}
Salin selepas log masuk

Dalam contoh ini, rentetan "Lokasi "Selamat Datang ke india" Bangalore Channai "Bandar IT" Mysore" akan ditandakan sebagai:

Location
Welcome to india
Bangalore
Channai
IT city
Mysore
Salin selepas log masuk

Kaedah ini mengendalikan pengekalan subrentetan petikan secara elegan, memastikan frasa yang bermakna seperti "Selamat Datang ke india" atau "bandar IT" dikekalkan sebagai token tunggal.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan pada Ruang Sambil Memelihara Subrentetan Dipetik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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