作者jacobcan118 (jacobcan118)
看板Perl
標題Re: [問題] 在array裡取值
時間Wed Dec 11 13:19:02 2013
謝謝 不過請問一下,為什麼我用while 會print 不出東西 用 if 卻可以
match m/裡面的 g 是代表什麼?
for( @array_source)
{
if (m/*?\/var-(.*)\/.*\/(var.*)/)
{
print "$_\n";
print "$1\n";
}
print "aaaaaa\n";
while( m!/.*?/(.*?)/.*?/(.*?),!g ) {
print "$1\n$2\n";
}
output
----------------------------
/a/var-a00/b/var-b00
var-b00
/a/var-a00/b/var-b01
var-b01
/a/var-a01/b/var-b00
var-b00
/a/var-a01/b/var-b01
var-b01
/a/var-a02/b/var-b00
var-b00
/a/var....
....
aaaaaa
※ 引述《CindyLinz (Cindy Wang)》之銘言:
: ※ 引述《jacobcan118 (jacobcan118)》之銘言:
: : 請問各位我有一個array叫array_source 如下, 我有其他其他的辦法可以取得 array_source裡各個element裡各個string裡倒斜線裡第二和第四得值.
: : 我是用兩次split 在用chomp但有其他方法可以更簡單嗎. 謝謝
: : print Dumper(@array_source)."\n";
: : for (my $i; i < 10; i++)
: : {
: : @array_a = split (/,/, $array_source[$i]);
: : for (my $j = 0; $j < $#array_a; $j++)
: : {
: : @array_b = split (/\//, $array_a[$j]);
: : chomp($var_a = @array_b[2]);
: : print "$var_a\n";
: : chomp($var_b= @array_b[4]);
: : print "$var_b\n";
: : }
: : ----------------------
: : print out
: : $VAR1 = '/a/var-a00/b/var-b00,/a/var-a00/b/var-b01,/a/var-a01/b/var-b00,/a/var-a01/b/var-b01,/a/var-a02/b/var-b00,/a/var-a02/b/var-b01,/a/var-a03/b/var-b00,/a/var-a03/b/var-b01,';
: : $VAR2 = '/a2/var-a10/b2/var-b10,/a2/var-a10/b2/var-b01,/a2/var-a11/b2/var-b10,/a2/var-a11/b2/var-b11,/a2/var-a12/b2/var-b10,/a2/var-a12/b2/var-b11,/a2/var-a13/b2/var-b10,/a2/var-a13/b2/var-b11,'; ....
: : var-a00
: : var-b00
: : var-a00
: : var-b01
: : ....
: : ...
: : var-a13
: : var-b10
: : var-a13
: : var-b11
: 可以這樣用, 然後那個是正斜線不是倒斜線 :p
: for(@array_source) {
: while( m!/.*?/(.*?)/.*?/(.*?),!g ) {
: print "$1\n$2\n";
: }
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.183.242.84
→ scwg:Cindy 的 RE 是給你用在一整行上的. 已經用 split 以逗點切開 12/11 14:17
→ scwg:的話要把 regular expression 最後的逗點拿掉 12/11 14:17
→ scwg:BTW, 你 if 用的 regular expression 改變意義了 12/11 14:18
推 CindyLinz:g是..有兩種用法, 建議查 perlre 裡面的說明比較好 ^^| 12/11 17:31
→ CindyLinz:嗯, 我給的程式是對你的原 po 中 $VAR1 $VAR2 那樣的輸 12/11 17:32
→ CindyLinz:入操作的 12/11 17:32
推 xatier:perldoc retut 不錯,可以先看 12/11 20:04
→ jacobcan118:感謝.. 12/15 14:54