Tôi có một mảng như thế nàyToán tử thay thế Perl có thể khớp với một phần tử trong một mảng không?
my @stopWords = ("and","this",....)
văn bản của tôi là trong biến này
my $wholeText = "....and so this is...."
Tôi muốn để phù hợp với mỗi lần xuất hiện của mỗi phần tử của mảng từ dừng của tôi trong vô hướng wholeText và thay thế bằng không gian .
Một cách để làm điều này là như sau:
foreach my $stopW (@stopWords)
{
$wholeText =~ s/$stopW/ /;
}
này hoạt động và thay thế tất cả các lần xuất hiện của tất cả các từ dừng lại. Tôi chỉ tự hỏi, nếu có cách làm ngắn hơn.
Như thế này:
$wholeText =~ s/@stopWords/ /;
Trên đây dường như không làm việc mặc dù.
này sẽ xoá 'và' trong 'ngàn'. –
@ Jonathan Leffler: cảm ơn vì đã chỉ ra nhưng tôi nghĩ OP cũng không xử lý trường hợp này. :) –
OP có thể muốn nó được xử lý; anh ta có thể muốn tất cả các lần xuất hiện của mỗi từ dừng (trong sự cô lập) bị loại bỏ, không chỉ là lần xuất hiện đầu tiên của mỗi từ. Một giải pháp đầy đủ làm tất cả cùng một lúc. –