2011-10-27 2 views
-4

가능한 중복 :
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)  
+1

이 질문은 다른 두 번 질문과 얼마나 다른가요? – CanSpice

답변

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

당신이 분할에 대한 더 많은 유용한 기준을 제공 할 수있는 경우에, 나는 더 나은 해답을 제공 할 수 있습니다.