Java แยกสตริงเป็นรายการ [ซ้ำกัน]
Oct 18 2020
ฉันพยายามแยกสตริงที่มี isbn ด้วย '||'
bk = ISBN: 9781292018195|| ISBN: 1292018194|| EISBN: 9781292070957|| EISBN: 1292070951
List<String> isbn = Arrays.asList(bk.split("|| "));
ฉันหวังว่าผลลัพธ์จะเป็น ['ISBN: 9781292018195', 'ISBN: 1292018194', 'EISBN: 9781292070957', 'EISBN: 1292070951'] แต่
[I, S, B, N, :, , 9, 7, 8, 1, 2, 9, 2, 0, 1, 8, 1, 9, 5, |, |, , , I, S, B, N, :, , 1, 2, 9, 2, 0, 1, 8, 1, 9, 4, |, |, , , E, I, S, B, N, :, , 9, 7, 8, 1, 2, 9, 2, 0, 7, 0, 9, 5, 7, |, |, , , E, I, S, B, N, :, , 1, 2, 9, 2, 0, 7, 0, 9, 5, 1]
จะแก้ได้อย่างไร?
คำตอบ
3 Adarsh Oct 18 2020 at 15:21
splitใช้ regex และ|เป็นอักขระพิเศษ คุณต้องหลบหนีเพื่อให้ได้ผลลัพธ์ที่ต้องการ
ดังนั้นแทนที่(bk.split("|| ")ด้วยbk.split("\\|\\| ")