首页 > 解决方案 > 您可以匹配单词而不匹配具有相同拼写的单词部分吗?

问题描述

我想知道是否有一种方法可以替换字符串中的独立单词,而无需更改具有相同拼写的单词部分。一个例子是转换:

a = "hey how is the heyday"

进入:

"wrong how is the heyday"

有没有办法做到这一点?

这将不起作用:

a.gsub! "hey", "wrong"
# => "wrong how is the wrongday" 

标签: regexruby

解决方案


正如其他人在评论中发布的那样,您可以这样做的一种方法是在您的 gsub 中使用正则表达式

  a = "hey how is the heyday"
  a.gsub(/hey\b/,'wrong')

这里的正则表达式正在寻找hey带有单词边界的单词。但还要注意,当您使用gsub!时修改您调用它的变量。如果您想为结果分配一个新变量,请gsub单独使用而不会引起轰动。


推荐阅读