[問題] 關於正則表示式的split

看板java作者 (媽媽咪呀)時間11年前 (2013/01/10 15:28), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
String a = "123XXX456789XXX00XXX…" String b[] = a.split("XXX"); XXX是正則表示式, 因此我不確定各個XXX的長度是多少。 執行後b的值為: 123、456789、00、… 但是我想要讓每個值前面都加上他原本的XXX, 就像: 123、XXX456789、XXX000、XXX… 要達成這樣的結果該怎麼做呢? 我想了幾個迂迴的方法都湊不到這樣的結果, 請教各位先進了,謝謝。 -- ▃▃▃▃▃▃▃▃▃▃▃▃▃ ██▃▃▃▃▃▃▃ ▇▇▇ ▇▇▇ ▇ ▇▇█ ▇▇▇ ▇█▇ ▇▇▇ ▇ ▇ █ █ ▉▉█ █ █ █ █ █ █ █ █ ██◤ ███ ▉▉█ █ ███ ███ █ ███ █ ◆│ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██│ By luh4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.222.98

01/10 15:34, , 1F
123 前面本來就沒有 XXX 怎麼跑出來的?
01/10 15:34, 1F
修改了原本錯誤的結果 ※ 編輯: omidofor 來自: 140.115.222.98 (01/10 15:36)

01/10 15:42, , 2F
String b[] = a.split("(?=XXX)");
01/10 15:42, 2F

01/10 15:48, , 3F
不過XXX 也是 REGEX的話, 可能要用Pattern/Matcher 處理!?
01/10 15:48, 3F
突然想到一個笨方法解決了@@ for(String str: b){ a.replace(str,"-;-"); } String c[] = a.split("-;-"); 這樣就可以了。 ※ 編輯: omidofor 來自: 140.115.222.98 (01/10 16:10)
文章代碼(AID): #1GxcsP7k (java)