Mengapa Melarikan Diri Pembatas Paip Penting untuk String.split()
Apabila bekerja dengan penghuraian teks, kaedah String.split() ialah tidak ternilai. Walau bagaimanapun, ia menimbulkan isu halus apabila menggunakan paip ("|") sebagai pembatas. Jika watak paip kekal tidak dapat dielakkan, kaedah split menghasilkan hasil yang tidak dijangka. Artikel ini meneroka sebab melarikan diri daripada paip adalah penting untuk String.split().
Kaedah String.split() beroperasi pada ungkapan biasa dan paip yang tidak terlepas "|" dalam ungkapan biasa mewakili "rentetan kosong atau rentetan kosong." Tafsiran ini berbeza daripada tujuan yang dimaksudkan untuk menggunakan paip sebagai pembatas untuk memisahkan nilai.
Untuk menggambarkan tingkah laku ini, pertimbangkan contoh berikut:
<code class="java">String line = "value1|value2|value3"; String[] list_str = line.split("\|"); // pipe is escaped</code>
Dalam kes ini, kaedah split betul memisahkan nilai ke dalam tatasusunan bernama list_str. Walau bagaimanapun, tanpa watak melarikan diri, hasilnya akan berbeza:
<code class="java">String line = "value1|value2|value3"; String[] list_str = line.split("|"); // pipe is not escaped</code>
Dalam senario ini, kaedah split akan mentafsir setiap aksara dalam rentetan sebagai pembatas, mengakibatkan penghuraian yang salah. Outputnya ialah:
v|a|l|u|e|1||v|a|l|u|e|2||v|a|l|u|e|3
Untuk mengelakkan akibat yang tidak disengajakan ini, adalah penting untuk melepaskan watak paip apabila menggunakan String.split(). Dengan menambahkan aksara melarikan diri "", paip dianggap sebagai watak literal, memastikan tingkah laku pembatas yang betul.
Atas ialah kandungan terperinci Mengapakah Melarikan Diri dari Pembatas Paip Penting untuk String.split()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!