ruby - 如何 gsub\in ruby​​ 数组?

标签 ruby arrays gsub

如何从数组中删除所有\元素?

大小为 6 的数组:

data =
[
      " \"\"http://www.web1.com\\\"",
      "\"",
      " \"\"https://www.web2.com\\\"",
      "\"",
      " \"\"http://www.web3.com\\\"",
      "\"",
 ]

期望:

 ["www.web1.com", "www.web2.com", "www.web3.com"]

尝试过:

 data = 
 => [" \"\"http://www.web1.com\\\"", "\"", " \"\"https://www.web2.com\\\"", "\"", " \"\"http://www.web3.com\\\"", "\""] 
2.0.0-p353 :019 > data.each do |d| 
2.0.0-p353 :020 >     d.gsub!(/\+/,'')
2.0.0-p353 :021?>   end
 => [" \"\"http://www.web1.com\\\"", "\"", " \"\"https://www.web2.com\\\"", "\"", " \"\"http://www.web3.com\\\"", "\""] 
2.0.0-p353 :022 > 

最佳答案

以下是获得所需输出的方法:

data.map { |e| e.gsub(/["\s\\\/]|(?:https?:\/\/)/,'') }.reject(&:empty?)

您迭代数据数组并将与正则表达式匹配的元素内容替换为 ''。然后你只需删除空字符串即可。

让我解释一下正则表达式:[...] 表示字符组,我们将匹配该组中的任何字符; |or 运算符; (?:) 是非捕获组,因此我们必须匹配整个 https://http://\s 表示任意空白字符; \\\/ 被转义 \/

关于ruby - 如何 gsub\in ruby​​ 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091572/

相关文章:

ruby-on-rails - 单表继承查找问题

Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?

ruby-on-rails - Rails 3.2,批量分配,动态角色?

C 程序不在 Windows 上执行。它在 Unix 上

javascript - 根据内部数组对对象进行排序

如果 R 中满足条件,则正则表达式删除字符串中的逗号

ruby - 从 Web 读取文本文件并分配给 Ruby/Chef 中的变量

php - PHP错误数组不起作用

r - 使用 gsub() 从 R 中的数组中提取数字

r - For 循环遍历 R 的 gsub 中使用的项目列表