看板 Perl 關於我們 聯絡資訊
我有一列字串 $str = "|%some string 1\n|%some string 2\n|%...\n|%some string n" 也就是這裡頭可拆成 n 個以 |% 開頭的字串 想把這字串切成陣列 我這麼寫 @_ = ($str =~ m/|%.*?[^|][^%]/gs); 可是string 裡有 | 這樣就破功了 我是有想過用split /|%/, $str 然後再一個一個把 |% 補回去.. 可是我處理的字串很大 存成檔案大概 20M 這樣效能會變很差 請教各位 像這種的 RegExp 應該長什麼樣子? 或者根本就寫不出來呢? 只能用split? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.143.215.28
Andor:split /(?=\|%)/, $str 03/22 18:26
softwind:...我也想半天 結果 我也被秒殺了... @@" 03/22 18:30
WindChris:QQ 真的被秒殺... 我想好久說 謝謝!! m(_ _)m 03/22 18:49
HWOARANG:split /([|]%[^|]+)/, $str 試試看吧 03/23 08:22
WindChris:這個是不是遇到 |%str 1|asdf|%str 2 只取到|%str 1 03/23 10:14