-1
分割每行字符串我有一個包含這樣的字符串的文件:我怎麼能對文件
- ' *[0-9]-? [^a-c]@[*-^a-c]' '' < temp-test/758.inp.325.1
- ' *[0-9]-? [^a-c]@[*-^a-c]' '' < temp-test/759.inp.325.3
- ' *[0-9]@[[9-B]??[0-9]-[^-[^0-9]-[a-c][^a-c]' 'NEW' < temp-test/1133.inp.487.1`enter code here`
- ' *[0-9]@[[9-B]??[0-9]-[^-[^0-9]-[a-c][^a-c]' 'NEW' < temp-test/1134.inp.487.2
- '"@@' 'm' < input/ruin.1890
我想分割每行此字符串爲2部分,我希望這樣的結果:
- line 1: array[0]=' *[0-9]-? [^a-c]@[*-^a-c]'; array [1]='' < temp-test/758.inp.325.1
- line 2: array[0]=' *[0-9]-? [^a-c]@[*-^a-c]'; array [1]='' < temp-test/759.inp.325.3
- line 3: array[0]=' *[0-9]@[[9-B]??[0-9]-[^-[^0-9]-[a-c][^a-c]'; array[1]='NEW' < temp-test/1133.inp.487.1
- line 4: array[0]=' *[0-9]@[[9-B]??[0-9]-[^-[^0-9]-[a-c][^a-c]'; array[1]='NEW' < temp-test/1134.inp.487.2
- line 5: array[0]='"@@'; array[1]='m' < input/ruin.1890
,我已經嘗試的代碼是這樣的:
#!/usr/bin/perl
# location of universe file
$tc = "/root/Desktop/SIEMENS/replace/testplans.alt/universe";
# open file universe;
open(F, "<$tc");
@test_case = <F>;
while ($i < 5) {
$test_case[$i] =~ s/ //;
@isi = split(/ /, $test_case[$i]);
if ($#isi == 2) {
print "Input1:" . $isi[0] . "\n";
print "Input2:" . $isi[1] . "\n";
print "Input3:" . $isi[2] . "\n";
}
$i++;
}
我很困惑,因爲我不能縫該字符串以「」(SPAC e),因爲每一行有不同的訂單空間,我不能成爲2部分。 謝謝。
不要使用拆分對於這一點,使用正則表達式。 http://perldoc.perl.org/perlre.html – xxfelixxx
https://regex101.com/ – xxfelixxx
請用清晰的例子編輯您的文章,並清楚輸出您確切需要的內容。 – mkHun