【发布时间】:2011-11-22 16:01:09
【问题描述】:
这是我的字符串:
mystring = %Q{object1="this is, a testyay', asdkf'asfkd", object2="yo ho', ho"}
我打算用逗号分隔mystring,因此我想(暂时)分出转义引号之间的逗号。
所以,我需要匹配转义引号 + 一些字符 + 一个或多个逗号 + 转义引号,然后 gsub 匹配字符串中的逗号。
我想出的 gsub 正则表达式是 /(".*?),(.*?")/,我是这样使用它的:
newstring = mystring.gsub(/(".*?),(.*?")/ , "\\1|TEMPSUBSTITUTESTRING|\\2"),但这只会替换它在转义引号之间找到的第一个逗号。
如何让它替换所有的逗号?
谢谢。
【问题讨论】:
-
require 'csv'; CSV.parse(mystring)你不需要麻烦的正则表达式。 -
rubular.com 是修改您的表达方式的绝佳场所。
标签: ruby-on-rails ruby regex ruby-on-rails-3