Re: [請益] perl刪除某行的特定字串

作者: cutekid (可愛小孩子)   2013-10-18 17:34:01
#!/usr/bin/perl
$str = "AAA BBB CCC DDD EEE FFF";
@arr = split(' ',$str);
$res = join(' ',@arr[0..2]) . ' ' . join(' ',@arr[4..$#arr]) ;
print $res;
※ 引述《heyk1 (大熱天)》之銘言:
: 請問板上的各位高手,
: 假如有個字串如下 :
: AAA BBB CCC DDD EEE FFF
: 如果想用 perl 刪除第三空格與第四空格中間的字串, 變成
: AAA BBB CCC EEE FFF
: 請問要如何寫?
: 非常感謝
作者: AmaiN   0000-00-00 00:00:00
split真好用~
作者: scwg ( )   0000-00-00 00:00:00
可以用 split(' ', $str, 5), 這樣下一行不用第二個 join
作者: AntaresStar   0000-00-00 00:00:00
可以$arr[3]=''之後直接join
作者: CindyLinz (Cindy Wang)   0000-00-00 00:00:00
好多寫法唷 :p也貢獻一個~ 直接用 regex 的$str =~ s/^((\S* ){3})\S+/$1/;
作者: heyk1 (大熱天)   0000-00-00 00:00:00
再請教如果是第三個空格之後全刪除,變成 AAA BBB CCC 怎麼寫非常感激大家的指教.
作者: scwg ( )   0000-00-00 00:00:00
to heyk1: 拿 CindyLinz 的下去改, \S 換成 . 就可以了或用 split 之後 join ' ', @arr[0..2] 也可以
作者: heyk1 (大熱天)   0000-00-00 00:00:00
To scwg: 可以用!謝謝你^^
作者: AntaresStar   0000-00-00 00:00:00
perl -e '$_="a b c d e f";print"@{[split]}[0..2]"'一行文 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com