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