regex - 您可以匹配单词而不匹配具有相同拼写的单词部分吗?
问题描述
我想知道是否有一种方法可以替换字符串中的独立单词,而无需更改具有相同拼写的单词部分。一个例子是转换:
a = "hey how is the heyday"
进入:
"wrong how is the heyday"
有没有办法做到这一点?
这将不起作用:
a.gsub! "hey", "wrong"
# => "wrong how is the wrongday"
解决方案
正如其他人在评论中发布的那样,您可以这样做的一种方法是在您的 gsub 中使用正则表达式
a = "hey how is the heyday"
a.gsub(/hey\b/,'wrong')
这里的正则表达式正在寻找hey
带有单词边界的单词。但还要注意,当您使用gsub!
时修改您调用它的变量。如果您想为结果分配一个新变量,请gsub
单独使用而不会引起轰动。
推荐阅读
- java - 如何使用 ibatis 将 ARRAY 传递给存储过程
- d3.js - 文本元素的 D3 样式
- sql - 使用 SQL 案例语句更改每个员工和每个日期的输出
- r - 根据 R 中的列将数据帧分成两半
- python - 如何使用 python 运算符在气流 dag 文件中使用 xCom?
- snaplogic - 为什么路由到错误输出的文档在通过 ULTRA 任务使用时会导致管道失败?
- javascript - 如何将变化推送到属性 href
- git - Git:从命令行使用 merge=ours 策略
- javascript - 数据绑定到 *ngFor 内的 mat-slide-toggle 值
- java - 如何在 Eclipse 中将 Spring Boot 应用程序转换为 Dynamic Web 项目?