帮助正则表达式

时间:2010-06-22 00:42:28

标签: ruby regex

我该怎么做:

"01","35004","AL","ACMAR",86.51557,33.584132,6055,0.001499 

到此:

ACMAR, AL

4 个答案:

答案 0 :(得分:1)

如果是数组 - […].grep(/^[A-Z]+$/),则为字符串 - "…".scan(/[A-Z]+/)

答案 1 :(得分:1)

我不太确定您为什么要使用Regexp而不是CSV解析器来解析CSV文件。它使你的生活如此更容易:

require 'csv'

CSV.open('/path/to/output.csv', 'wt') do |csv|
  CSV.foreach('/path/to/output.csv') do |_, _, state, city|
    csv << [state, city]
  end
end

答案 2 :(得分:0)

匹配:\“([A-Za-z]。*)\”。* \“([A-Za-z]。*)\”

替换:\ 2,\ 1

这假设只有字母的字段是那两个。一个更好的解决方案可能是爆炸','并取第3和第4个字符串。

答案 3 :(得分:0)

你可以用这个

"(.+)","(.+)","(.+)","(.+)",

然后连接捕获组3和2