作者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