使用URI.extract识别和处理文本中的网址(本例中的电子邮件)。
一个有点烦人的功能是通过方案提取时
urls = URI.extract(text, ['http', 'https', 'cid','mailto'])
如果它们包含在带有括号的文本中,则其中一些会带有一个尾随方括号。
e.g。
text = "Here's a link [mailto:bob@bob.com]"
urls = URI.extract(text, ['http', 'https', 'cid','mailto'])
=> ["mailto:bob@bob.com]"]
注意尾随右括号,然后破坏我使用的任何url解析器。
有没有明智的方法可以阻止它?
URI.extract的文档有点令人烦恼。
答案 0 :(得分:1)
也许我错过了什么,但非常简单的文字替换可能会有所帮助?如果您熟悉tr
unix工具,那么Ruby也会String#tr
:
urls.map { |s| s.tr('[]', '') }
=> ["mailto:bob@bob.com"]