Rumah > Java > javaTutorial > Mengapa Saya Perlu Melarikan Diri daripada Watak Paip dalam Kaedah String.split Java?

Mengapa Saya Perlu Melarikan Diri daripada Watak Paip dalam Kaedah String.split Java?

Patricia Arquette
Lepaskan: 2024-11-06 06:28:02
asal
726 orang telah melayarinya

Why Should I Escape the Pipe Character in Java's String.split Method?

Melepaskan Pembatas Paip dalam String.split

Apabila menggunakan kaedah belah pada rentetan, adalah penting untuk memahami kepentingan melepaskan aksara tertentu . Khususnya, watak paip (|) bertindak sebagai pembatas khas, dan kehadirannya tanpa melarikan diri boleh membawa kepada hasil yang tidak dijangka.

Mengapa Escape the Pipe?

The kaedah split mengharapkan hujah ungkapan biasa, di mana setiap aksara mewakili peraturan padanan corak tertentu. Apabila paip unescaped digunakan, ia ditafsirkan sebagai operator OR logik dalam regex. Ini bermakna ia mewakili corak yang sepadan sama ada rentetan kosong atau rentetan kosong yang lain, yang bukan gelagat yang dimaksudkan.

Contoh

Pertimbangkan coretan kod berikut, yang cuba menghuraikan baris dengan nilai yang dibatasi paip:

private ArrayList<String> parseLine(String line) {
    ArrayList<String> list = new ArrayList<String>();
    String[] list_str = line.split("|");
    for(String s:list_str) {
        list.add(s);
        System.out.print(s+ "|");
    }
    return list;
}
Salin selepas log masuk

Tanpa melarikan diri daripada paip, kod ini akan memadankan dengan salah setiap aksara dalam rentetan sebagai pembatas, menyebabkan tatasusunan kosong.

Dengan melepaskan paip menggunakan "|", kaedah pemisahan kini memisahkan nilai dalam baris dengan betul .

Atas ialah kandungan terperinci Mengapa Saya Perlu Melarikan Diri daripada Watak Paip dalam Kaedah String.split Java?. 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