Re: [請益] 字串解析

作者: shadowjohn (轉角遇到愛)   2016-12-21 19:31:09
※ 引述《aaa6542005 (Poppy)》之銘言:
: 現在取得一個電影時刻的長字串,字串中間也都沒空白,如下:
: " 12月21日至12月22日:10:10、12:20、14:30、16:50、19:10、21:30、23:4012月23日
: :10:20、12:30、14:50、17:10、19:30、21:45、23:5512月24日至12月27日:10:10、
: 12:20、14:35、16:50、19:10、21:25 "
: 請問我該如何把這字串解析成類似上面那樣?
: 我想要的結果類似這樣:
: 12-21 12-22 => 10:10、12:20、14:30、16:50、19:10、21:30、23:40
: 12-23 => 10:20、12:30、14:50、17:10、19:30、21:45、23:55
: 12-24 12-25 12-26 12-27 => 10:10、12:20、14:35、16:50、19:10、21:25
: array或者json都可以
: 請問要怎樣才能做到呢?
: 想一整個下午了><
: 拜託高手大大們幫我解惑
如果你不會re,或是你擔心你的re寫的不到位
那就用最簡單的方式慢慢切
1、先把中間所有的空白都拿掉
2、然後用"日:"切開
Array
(
[0] => 12月21日至12月22
[1] => 10:10、12:20、14:30、16:50、19:10、21:30、23:4012月23
[2] => 10:20、12:30、14:50、17:10、19:30、21:45、23:5512月24日至12月27
[3] => 10:10、12:20、14:35、16:50、19:10、21:25
)
有沒有發現規律了?
跳過第一組不作
第二組開始,就是找到「第一個月,往前推2字元,就是上一個array的結果」
後面依此類推,只是在作 strpos、substr的事
應該就是這樣就可以完成
至於re會寫的確是簡單的多,判斷是「\d\d月\d\d日|\d\d月\d\d日至\d\d月\d\d日…
不過我自己要寫這種東西的話,我會選前者,註解寫清楚~
3分鐘就寫出來了...
作者: shadowjohn (轉角遇到愛)   2016-12-21 19:44:00
http://3wa.tw/demo/htm/test_javascript.php?id=34雖然是javascript作的,不過很接近php了,給你參考XD

Links booklink

Contact Us: admin [ a t ] ucptt.com