gpt4 book ai didi

ruby - 正则表达式匹配不包括第一个字符的字符串

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:52 25 4
gpt4 key购买 nike

我正在编写 ruby​​,需要一些正则表达式方面的帮助。而且我真的是正则表达式的菜鸟。我有一个这样的字符串

/hello/world

我想#gsub 这个字符串,将第二个 斜杠改为%2F。我的挑战是忽略第一个斜杠并更改仅第二个 斜杠。这个我试过了

[^/]/

但它选择的不是干净的斜杠,而是 o/ in

/hello/world

请帮帮我。谢谢!!

最佳答案

您可以简单地捕获组中斜线之前的字符并在替换中使用它,例如:

"/hello/world".gsub(/([^\/])\//, '\1%2F') #=> "/hello%2Fworld"

或者,如果您只想匹配出现在第一个字符之后的任何 /,您可以将其简化为:

"/hello/world".gsub(/(.)\//, '\1%2F')     #=> "/hello%2Fworld"

或者像这样:

"/hello/world".gsub(/(?<!^)\//, '%2F')    #=> "/hello%2Fworld"

关于ruby - 正则表达式匹配不包括第一个字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21564384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com