作者WindChris (惡靈 退散)
看板perl
標題[問題] 用RegExp將字串切割
時間Thu Mar 22 18:24:08 2007
我有一列字串
$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