【问题标题】:Ruby, parse uppercase letters from array of namesRuby,从名称数组中解析大写字母
【发布时间】:2014-05-24 21:11:54
【问题描述】:

我在 Ruby 中的数组中有一个名称列表:

names = ["John Smith","Bob Miller"]

所以我想做一个正则表达式并得到这个数组:

namesRegex = ["JS","BM"]

这是,我从字符串中提取大写字符,将它们合并并放入一个新数组中。

感谢任何帮助。

【问题讨论】:

  • 到目前为止,您尝试了什么?你遇到了什么问题?

标签: ruby arrays regex uppercase


【解决方案1】:

这真的很简单:

names.map { |name| name.gsub(/[^A-Z]/, '') }

您可以很容易地为这个问题构建一个不太优雅但完全有效的解决方案,甚至不需要使用正则表达式或映射。

【讨论】:

  • 感谢您的解决方案。碰巧我缺乏使用 .map 函数的经验,这使我无法为整个数组实现正则表达式。
【解决方案2】:
 names.map { |name| name.scan(/\b\w/).*'' }

【讨论】:

  • \w 不也匹配非大写吗?
  • 是的,但至少在示例中,所有名称/单词都以大写字母开头。
猜你喜欢
  • 2022-06-30
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
相关资源
最近更新 更多