ruby 将选定的整个单词括在括号中

标签 ruby regex string

@string = "Sometimes some stupid people say some stupid words"

@string.enclose_in_brackets("some") # => "Sometimes {some} stupid people say {some} stupid words"

enclose_in_brackets 方法应该是什么样子的?请记住,我只想包含整个单词,(我不想“{Some}times {some} stupid....”,“sometimes”这个词应该保持不变

最佳答案

这只是使用正则表达式的字符串替换。您可以使用词边界特殊字符来防止它在另一个词的中间时匹配您的参数。并将您的方法放在 String 类中,以便您可以像示例中那样直接在字符串上调用它。

class String
  def enclose_in_brackets(selection)
    self.gsub(/(\b#{selection}\b)/i, '{\1}')
  end
end

'Sometimes some stupid people say some stupid words'.enclose_in_brackets('some')
# Sometimes {some} stupid people say {some} stupid words.

关于ruby 将选定的整个单词括在括号中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793427/

相关文章:

ruby-on-rails - Rails 可选参数

java - 寻找正则表达式的建议

php - MySQL 和 PHP - 多行或连接成 1 行 - 哪个更快?

java - 如何将这些正则表达式组合到 JavaScript 中

java - 在 Java 中比较版本字符串的有效方法

c# - 从字符串数组创建更大的字符串

Ruby on Rails 工作流引擎(如 IBM WorkFlow)

ruby - 无法安装 ruby​​ gem "yajl-ruby"

ruby-on-rails - Rails4 : How to display the data when association data doesn't exist

javascript - 下划线前后的正则表达式匹配字符