Re: [問題] 在array裡取值
謝謝 不過請問一下,為什麼我用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
→
12/11 14:17, , 1F
12/11 14:17, 1F
→
12/11 14:17, , 2F
12/11 14:17, 2F
→
12/11 14:18, , 3F
12/11 14:18, 3F
推
12/11 17:31, , 4F
12/11 17:31, 4F
→
12/11 17:32, , 5F
12/11 17:32, 5F
→
12/11 17:32, , 6F
12/11 17:32, 6F
推
12/11 20:04, , 7F
12/11 20:04, 7F
→
12/15 14:54, , 8F
12/15 14:54, 8F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章