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