Ruby 匹配第一次出现的字符串以进行 gsub 替换

Posted

技术标签:

【中文标题】Ruby 匹配第一次出现的字符串以进行 gsub 替换【英文标题】:Ruby match first occurrence of string for a gsub replacement 【发布时间】:2011-10-10 13:37:07 【问题描述】:

我有一个字符串,比如说 http://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl

我想用 https 替换第一个 http,而不是第二个,所以我最终得到 https://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl

如何使用简单的 gsub 完成此任务?以下替换两者。

request.url.gsub(/http:/, "https:")

【问题讨论】:

【参考方案1】:

使用sub,而不是gsubgsub 是全局的,sub 不是。

【讨论】:

谢谢!我……刚开始使用 RoR,语言/框架还是有点不舒服……我是 C#/JS 人。 至少你已经看到了曙光:D

以上是关于Ruby 匹配第一次出现的字符串以进行 gsub 替换的主要内容,如果未能解决你的问题,请参考以下文章

Ruby regex- gsub 是不是存储它匹配的内容?

带有索引/偏移量的Ruby gsub?

如何在许多匹配项中使用 ruby​​ gsub Regexp?

Ruby gsub 不会转义单引号

尝试用从中剥离的 URL 替换 HTML <a> 标记时,我的 Ruby 代码中的 gsub 方法出现问题

Ruby 正则表达式 \1 对 gsub 意味着啥