这是我的字符串:
string = "abcdef.sfdsf_3asafds-fdsfd;info=<http://www.amazon.com:8080/abc/ads/asdf>;tag=abc123;val=hello"
我的目标是使用ruby中的gsub / sub替换:
info=<http://www.amazon.com:8080/abc/ads/asdf>
使用:
info=<private-url>
我尝试了一些使用regexp的尝试,但它们都是错误的。有什么建议吗?
答案 0 :(得分:1)
执行此操作的简单正则表达式可以是/<(.*?)>/
这将匹配< >
内的所有内容(包括< >
信号)。
请注意,这将匹配字符串中的第一个匹配项。
您可以在question上查看正则表达式的说明。
你也可以在Rubular上查看它,这是一个在飞行中测试ruby正则表达式的好工具。
为了替换Ruby
中的匹配结果,您可以尝试类似的内容
2.4.0 :024 > string.sub(/<(.*?)>/, '<your_url>')
=> "abcdef.sfdsf_3asafds-fdsfd;info=<your_url>;tag=abc123;val=hello"
这可用于此字符串,但如果字符串上有更多< >
信号,则需要根据使用情况进行调整。