5.1 бөлімі бар

Possible Duplicate:
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 нөлдік ендік күшінен көргім келді:

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)     
4
Бұл сұрақ басқа екі сұрақтан қаншалықты ерекшеленеді?
қосылды автор CanSpice, көзі

1 жауаптар

Сіз бізге қандай да бір критерийлерді ұсынбадыңыз, олар қандай да бір «тақырыптардан» басқа, сызықтарды бөлуге арналған. Соңғы бөлімдерді қоспағанда, сіздің барлық тақырыптарыңыз төменгі сияқты көрінеді.

Сондықтан сіздің тақырыптарыңыз статикалық болады деп болжап отырмын және мынаны ұсынамын:

$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";

Бөліну үшін пайдалы өлшемдерді бере алсаңыз, мен жақсы жауап бере аламын.

2
қосылды