我想阅读剪贴板,如果它是一个 url 做一些事情。问题是网址?不做这项工作:
url? to-url "any string" will return true
这是正常的吗?那我该怎么做我想要的检测呢?
我想阅读剪贴板,如果它是一个 url 做一些事情。问题是网址?不做这项工作:
url? to-url "any string" will return true
这是正常的吗?那我该怎么做我想要的检测呢?
您可以使用:
url? load "any://string"`
或者
url? attempt [load "any string"]
使用 REBOL 的 URL 定义。
to-url将字符串转换为 URL 的 REBOL 数据类型!
你想要的是检测一个字符串是否符合 URL 的规则。这并不容易或万无一失,因为现实世界中的许多字符串都可以是 URL,例如:
如果您想捕获更常见的情况(例如以http://、https://等开头的情况),请考虑使用parse。
这个脚本几乎可以完成这项工作: 链接文本
它缺少的是一些字符集定义(我认为代码一定是从其他地方匆匆剪切'n'粘贴的)......
alpha: charset [#"a" - #"z" #"A" - #"Z"]
digits: charset [#"0" - #"9"]
alphadigit: union alpha digits
...以及如何使用它的示例:假设您已在本地将其保存为 uri.r:
url-parse: do %uri.r
parse "http://sss" parse-url/url
== true
parse "sss" parse-url/url
== false