酷!學園

技術討論區 => 程式討論版 => 主題作者是: iopklmm 於 2013-06-05 18:56

主題: perl 怎麼利用正規表示式刪除特定字元
作者: iopklmm2013-06-05 18:56

想請問各位

有一個字串有 # $ ^ 這三種符號 例如AA##BB$$CC^^ , 我想要把##$$^^刪除 , 我知道可以用

$String = "AA##BB$$CC^^";
$String =~ s/#//g;
$String =~ s/$//g;
$String =~ s/^//g;

但是不知道要怎麼寫才能夠表達出 #或$或^ 的正規表示式

謝謝
主題: Re: perl 怎麼利用正規表示式刪除特定字元
作者: Yamaka2013-06-05 22:00

想請問各位

有一個字串有 # $ ^ 這三種符號 例如AA##BB$$CC^^ , 我想要把##$$^^刪除 , 我知道可以用

$String = "AA##BB$$CC^^";
$String =~ s/#//g;
$String =~ s/$//g;
$String =~ s/^//g;

但是不知道要怎麼寫才能夠表達出 #或$或^ 的正規表示式

謝謝

用 『 | 』

代碼: [選擇]
$ echo 'AA##BB$$CC^^' | perl -e '$_=<STDIN>; ~s/#|\^|\$//g;print;'
AABBCC
$


=====
好久沒玩perl,不知道這樣用對不對  :D
主題: Re: perl 怎麼利用正規表示式刪除特定字元
作者: davidju2013-06-06 11:55
#!/usr/bin/perl
use strict;
use warnings;

$_ = 'AA##BB$$CC^^';
if (/(\w+)\#\#(\w+)\$\$(\w+)\^\^/) {
        print $1.$2.$3;
}

 ;) ;) ;)
主題: Re: perl 怎麼利用正規表示式刪除特定字元
作者: hongbin2013-06-06 18:21
$string = 'AA##BB$$CC^^';
$string=~s/([#\$^]+)//g;
print "$string\n";