Regex 删除标点符号

Regex 删除标点符号,regex,perl,punctuation,Regex,Perl,Punctuation,如何删除标点符号?。。实际上,我已经尝试使用[:punct://code>,但它并不适用于所有标点符号。它只删除了点而已…但其他标点符号仍然存在。我的任务是删除段落,删除标点符号,并将所有文本改为小写 这是我的文本文件,是snuker.txt snuker berjaya menarik perhatian kbs. 19981230 Sam Chong"" kiri dan ooi Chin Kay memberi sumbangan besar kepada pembangunan snu

如何删除标点符号?。。实际上,我已经尝试使用
[:punct://code>,但它并不适用于所有标点符号。它只删除了点
而已…但其他标点符号仍然存在。我的任务是删除段落,删除标点符号,并将所有文本改为小写

这是我的文本文件,是snuker.txt

snuker berjaya menarik perhatian kbs.
19981230

Sam Chong"" kiri dan ooi Chin Kay memberi sumbangan besar kepada pembangunan snuker tanah air 
dengan merangkul pingat' emas sukan asia ti'ga belas tahun sembi'lan belas sembilan puluh lapan membuka 
lembaran baru snuker dan biliard tanah air apabila mereka kian disegani dan berjaya menukar tanggapan. 
negatif masyarakat tempatan terhadap sukan itu
这是我的perl脚本

#!/usr/bin/perl

use utf8;

if(! open(INPUT, '< snuker.txt'))
{
die "cannot opent input file: $!";
}


if(! open(OUTPUT, '> output.txt'))
{
    die "cannot open output file: $!";
}

select OUTPUT;

while($lines = <INPUT>)
{

    if($lines =~ s/[\s[:punct:]]+$/ /g)
    {
        print "$lines";
    }
}

close INPUT;
close OUTPUT;
close STDOUT;

从正则表达式中删除美元符号。它使您的模式仅在行尾匹配。

从正则表达式中删除美元符号。它使您的图案仅在一行的末尾匹配。

尝试这样做:

#!/usr/bin/perl

use strict; use warnings;

$/ = ""; # read file per paragraphs

while (<>) {
    s/\p{Punct}//g;
    s/(?:\n|\s+)/ /g;
    print lc($_);
}
#/usr/bin/perl
严格使用;使用警告;
$/ = ""; # 按段落读取文件
而(){
s/\p{Punct}//g;
s/(?:\n |\s+//g;
打印信用证(美元);
}
用法
perlscript.ploutput.txt
输出 斯诺克公司在kbs 19981230年成立,其成员是sam chong kiri和ooi chin kay,他们在亚洲的斯诺克航空公司工作,他们的目标是成为一名斯诺克公司的员工,并成为一名组织机构和企业的领导者如果公众对这一问题持否定态度

尝试这样做:

#!/usr/bin/perl

use strict; use warnings;

$/ = ""; # read file per paragraphs

while (<>) {
    s/\p{Punct}//g;
    s/(?:\n|\s+)/ /g;
    print lc($_);
}
#/usr/bin/perl
严格使用;使用警告;
$/ = ""; # 按段落读取文件
而(){
s/\p{Punct}//g;
s/(?:\n |\s+//g;
打印信用证(美元);
}
用法
perlscript.ploutput.txt
输出 斯诺克公司在kbs 19981230年成立,其成员是sam chong kiri和ooi chin kay,他们在亚洲的斯诺克航空公司工作,他们的目标是成为一名斯诺克公司的员工,并成为一名组织机构和企业的领导者如果公众对这一问题持否定态度

#/usr/bin/perl
使用utf8;
如果(!打开(输入,OUTPUT.txt'))
{
die“无法打开输出文件:$!”;
}
选择输出;
而($line=)
{
$lines=~s/\n//g;
$lines=~s/[:punct:///g;
打印信用证(“$行”);
}
闭合输入;
闭合输出;
关闭STDOUT;
#/usr/bin/perl
使用utf8;
如果(!打开(输入,OUTPUT.txt'))
{
die“无法打开输出文件:$!”;
}
选择输出;
而($line=)
{
$lines=~s/\n//g;
$lines=~s/[:punct:///g;
打印信用证(“$行”);
}
闭合输入;
闭合输出;
关闭STDOUT;

还有样本输出,更好;)好的。我将发布Perl中的输出标点符号是
\pP
。请提供示例输出,更好;)好的..我将发布Perl中的输出标点符号是
\pP
。是的…我以前已经尝试过了..它设法删除了所有标点..但它没有删除段落..我想删除段落,标点符号和同时更改为小写是的…我以前已经尝试过了..它设法删除所有标点符号..但它没有删除段落..我想删除段落,标点符号和同时更改为小写由perl ish更改了第一个正则表达式
\p{Punct}
由perl ish更改了第一个正则表达式
\p{Punct}
perl script.pl < test_file >  output.txt
#!/usr/bin/perl

use utf8;

if(! open(INPUT, '< test_file'))
{
    die "cannot opent input file: $!";
}

if(! open(OUTPUT, '> output.txt'))
{
    die "cannot open output file: $!";
}

select OUTPUT;

while($lines = <INPUT>)
{
    $lines =~ s/\n/ /g;
    $lines =~ s/[[:punct:]]//g;
    print lc("$lines");
}

close INPUT;
close OUTPUT;
close STDOUT;