perl - 如何从 Perl 中的纯文本中提取 URL?

标签 perl url text extract

我看过一些这样的帖子,但不是我想做的。

如何提取和删除 URL 链接,然后从纯文本中删除它们。

例子:

"Hello!!, I love http://www.google.es".

我想提取“http://www.google.es”,将其保存在一个变量中,然后将其从我的文本中删除。

最后,文本必须是这样的:

"Hello!!, I love".

URL 通常是文本的最后一个“词”,但并非总是如此。

最佳答案

也许你想要URI::Find , 它可以在任意文本中找到 URI。您提供的代码引用的返回值会生成 URL 的替换字符串,因此如果您只想删除 URI,则可以只返回空字符串:

use URI::Find;

my $string = do { local $/; <DATA> };

my $finder = URI::Find->new( sub { '' } );
$finder->find(\$string );

print $string;

__END__
This has a mailto:joe@example.com
Go to http://www.google.com
Pay at https://paypal.com
From ftp://ftp.cpan.org download a file

关于perl - 如何从 Perl 中的纯文本中提取 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3958180/

相关文章:

perl - Apache::DBI->connect_on_init 数据库连接未使用

css - 将 jpeg 转换为 url for css

javascript - URL 中的多个井号

go - Golang 扫描文本文件中的单词

iphone - 限制用户输入字符,并在ios中将每个输入的字母转换为大写字母

Perl:使用 Office 365 发送邮件

perl - '//' 在 Perl 中是什么意思?

linux - 如何将 perl 模块转换为 deb 包?

django - Apache Django URL 问题

python - 为文本文件中的每个段落创建数组条目