gpt4 book ai didi

regex - 有没有更好的方法来删除 perl 中字符串数组的字符串?

转载 作者:行者123 更新时间:2023-12-02 06:04:21 27 4
gpt4 key购买 nike

我有一个 Perl URL 数组,其中都包含“http://”。我想从每个字符串中删除该字符串,只留下域。我正在使用以下 for 循环:

#!/usr/bin/perl

### Load a test array
my @test_array = qw (http://example.com http://example.net http://example.org);

### Do the removal
for (my $i=0; $i<=$#test_array; $i++) {
($test_array[$i] = $test_array[$i]) =~ s{http://}{};
}

### Show the updates
print join(" ", @test_array);

### Output:
### example.com example.net example.org

它工作正常,但我想知道是否有更有效的方法(无论是在处理方面还是在减少输入方面)。有没有更好的方法从字符串数组中删除给定的字符串?

最佳答案

当我解析 uris 时,我使用 URI .

use URI qw( );
my @urls = qw( http://example.com:80/ ... );
my @hosts = map { URI->new($_)->host } @urls;
print "@hosts\n";

关于regex - 有没有更好的方法来删除 perl 中字符串数组的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713988/

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