用perl ver.5.10分割线

时间:2011-10-27 22:42:26

标签: perl

  

可能重复:
  Split with line with perl

我的专栏:

producător: Carlo Ponti director de imagine: Piero Poletto monteur: Adriana Novelli Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)

我想分开:

producător: Carlo Ponti 
director de imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)

行数可能不同。 我尝试使用Lookbehind Zero-Width Assertions:

split /(?=\S+:\s*)/, $line

如果行在冒号之前包含多于一个单词(两个或三个或更多)('导演想象:''摄影指导:''艺术总监:'等)这个分裂线在:

producător: Carlo Ponti director de
imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)     

1 个答案:

答案 0 :(得分:2)

你没有给我们任何分割线条的标准,除了这些看似随意的“标题”。除了最后一个,所有标题似乎都是小写的。

因此我假设您的标题是静态的,并建议如下:

$line =~ /producător: (.*?) director de imagine: (.*?) monteur: (.*) Distribuţia: (.*)/;
print "producător: $1\n";
print "director de imagine: $2\n";
print "monteur: $3\n";
print "Distribuţia: $4\n";

如果您可以为拆分提供更多有用的标准,我可以提供更好的答案。