Re: [問題] "123,456"(注意有雙引號)取代成123456

看板RegExp (正規表示式 Regular Expression)作者 (eric)時間16年前 (2008/08/22 21:23), 編輯推噓1(217)
留言10則, 6人參與, 最新討論串2/3 (看更多)
兩位回覆的網友都很優秀,但資料是活的,若資料中像有"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)

08/22 21:28, , 1F
資料是活的是吧... 那我建議你直接用程式操作,不要用 RE
08/22 21:28, 1F

08/22 21:30, , 2F
monkey 先生說的有道理。
08/22 21:30, 2F
※ 編輯: anxiouser 來自: 61.216.245.24 (08/22 21:31)

08/22 21:31, , 3F
純回最後一句: 其實RE比起CFL來還是差了一些XD
08/22 21:31, 3F

08/22 21:34, , 4F
另外也建議你語氣注意一下.... [逃]
08/22 21:34, 4F

08/22 22:41, , 5F
s/"\([^"]*\),\([^"]*\)"/\1\2/g [recursive]
08/22 22:41, 5F

08/23 00:03, , 6F
有沒有搞錯啊 你第一篇給的是死的資料啊
08/23 00:03, 6F

08/23 00:04, , 7F
也許你那顆活的逗號會長大變成全形的,
08/23 00:04, 7F

08/23 00:06, , 8F
"我隨便出一題就掛了" 看來像是對自己說的 但其它人看起來
08/23 00:06, 8F

08/23 00:07, , 9F
難免會錯意像是 "我隨便出一題就考倒你們了" 的感覺
08/23 00:07, 9F

08/24 11:06, , 10F
感覺dfa一定畫的出來...
08/24 11:06, 10F
文章代碼(AID): #18hhtKd_ (RegExp)
文章代碼(AID): #18hhtKd_ (RegExp)