作者anxiouser (eric)
看板RegExp
標題Re: [問題] "123,456"(注意有雙引號)取代成123456
時間Fri Aug 22 21:23:31 2008
兩位回覆的網友都很優秀,但資料是活的,若資料中像有"123,456,789"
這種資料,可能你們寫的 RegExp 會有問題哦(因為你們只考慮一個逗號)。
雙引號會有不定個數的逗號,且雙引號不一定在第四欄,例如:
這個在第四欄:abc,123,xyz,"123,456",def12
這個在第二欄:abc,"123,456",123,xyz,def12
這個有兩個雙引號:abc,"123,456",xyz,"223,456",def12
我為了這個問題煩好久了,快死掉了。
有人說 RegExp 很強,什麼字串都能玩,我隨便出一題就掛了。
註:這個不是「作業文」也不是「接Case做不出來」文,這個程式我自己寫好玩的。
※ 引述《anxiouser (eric)》之銘言:
: 各位,大家好,有個問題前來請教。
: 我的資料長的像這樣:
: abc,123,xyz,"123,456",def12
: 其使用逗號來分隔,但資料內容如有逗號時,則以"(雙引號)匡住,我想請問要下
: 什麼 RegExp 才能將資料中的「"123,456"」取代成「123456」呢?
: 簡言之,我想要讓資料:
: abc,123,xyz,"123,456",def12
: 變成
: abc,123,xyz,123456,def12
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.245.24
※ 編輯: anxiouser 來自: 61.216.245.24 (08/22 21:25)
※ 編輯: anxiouser 來自: 61.216.245.24 (08/22 21:28)
1F:推 PsMonkey:資料是活的是吧... 那我建議你直接用程式操作,不要用 RE 08/22 21:28
2F:→ anxiouser:monkey 先生說的有道理。 08/22 21:30
※ 編輯: anxiouser 來自: 61.216.245.24 (08/22 21:31)
3F:推 LPH66:純回最後一句: 其實RE比起CFL來還是差了一些XD 08/22 21:31
4F:→ PsMonkey:另外也建議你語氣注意一下.... [逃] 08/22 21:34
5F:噓 blc:s/"\([^"]*\),\([^"]*\)"/\1\2/g [recursive] 08/22 22:41
6F:→ badwork:有沒有搞錯啊 你第一篇給的是死的資料啊 08/23 00:03
7F:→ badwork:也許你那顆活的逗號會長大變成全形的, 08/23 00:04
8F:→ badwork:"我隨便出一題就掛了" 看來像是對自己說的 但其它人看起來 08/23 00:06
9F:→ badwork:難免會錯意像是 "我隨便出一題就考倒你們了" 的感覺 08/23 00:07
10F:→ sasbluesea:感覺dfa一定畫的出來... 08/24 11:06