У меня есть файл с таким содержимым, как:
( (CODE <begin_A_defense_of_Michael_Moore>))
( (NP (NP (NP (DT A) (NN defense))
(PP (IN of)
(NP (NP (NNP Michael) (NNP Moore))
(CC and)
(" ")
(S-NOM-TTL (NP-SBJ (-NONE- *PRO*))
(VP (VBG Bowling)
(PP-PRP (IN for)
(NP (NNP Columbine))))))))
(" ")
(CODE -LRB-)
(PRN (NP (NN Op-Ed)))
(CODE -RRB-)
(PP (IN By)
(NP (NNP Eloquence)))))
( (FRAG (NP (NNP Wed))
(NP (NML (NNP Aug))
(JJ 13th)
(, ,)
(NN 2003))
(PP-TMP (IN at)
(NP (CD 09:00:09)
(FW AM) (FW EST)))))
( (S (NP-SBJ (DT This))
(VP (VBZ is)
(NP-PRD (NP (DT an) (JJ open) (NN letter))
(PP (IN to)
(NP (NP (NNP David) (NNP Hardy))
(, ,)
(NP (NP (NN author))
(PP (IN of)
(NP (NP-TTL (S-NOM-TTL (NP-SBJ (-NONE- *PRO*))
(VP (VB Bowling)
(PP-PRP (IN for)
(NP (NNP Columbine)))))
(: :)
(NP (NN Documentary) (CC or) (NN Fiction)))
(, ?)
(, ,)
(RRC (ADVP (RB probably))
(NP-PRD (NP (DT the)
(ADJP (RBS most) (JJ comprehensive)))
(PP (IN among)
(NP (NP (JJ many) (NNS rebuttals))
(PP (IN of)
(NP (DT the)
(ADJP (NNP Oscar) (HYPH -) (VBG winning))
(NN documentary))))))))))))))
(. .)))
( (S (NP-SBJ (NNS Critics))
(VP (VBP have)
(ADVP-TMP (RB now))
(VP (VBN gone)
(ADVP (ADVP (RB so) (RB far))
(SBAR (IN as)
(S (NP-SBJ (-NONE- *PRO*))
(VP (TO to)
(VP (VB call)
(PP-CLR (IN for)
(NP (NP (DT the) (NN revocation))
(PP (IN of)
(NP (DT the) (NN award))))))))))))
(. .)))
( (S (NP-SBJ (PRP$ Their) (NNS chances))
(VP (VBP are)
(ADJP-PRD (JJ small))
(, ,)
(ADVP (RB however))
(, ,)
(SBAR-PRP (IN as)
(S (NP-SBJ (PRP$ their) (NNS arguments))
(VP (VP (VBP rely)
(PP-CLR=1 (IN on)
(NP (NN polemic) (, ,) (NN exaggeration) (CC and) (NN misrepresentation))))
(: --)
(VP (PP (IN in)
(NP (JJ other) (NNS words)))
(, ,)
(PP-CLR=1 (IN on)
(NP (NP (DT the) (JJ same) (NNS techniques))
(SBAR (WHNP-2 (WP which))
(S (NP-SBJ (PRP they))
(VP (VBP accuse)
(NP (NNP Moore))
(PP-CLR (IN of)
(S-NOM (NP-SBJ (-NONE- *PRO*))
(VP (VBG using)
(NP (-NONE- *T*-2)))))))))))))))
(. .)))
И мне нужно получить каждый конкретный анализ в отдельности. Я думаю, что лучший способ — разделить этот файл новыми пустыми строками (есть ли у кого-нибудь другие методы). У кого-нибудь есть идеи как это сделать? Я использую PHP.
Этот файл из корпуса MASC.
Благодарю.
Я на самом деле сделал это следующим образом:
$newfile= file("textfile.txt");
$temp_str='';
$parses=array();
foreach ($newfile as $line) {
$temp=trim($line);
if(strlen($temp)>0){
$temp_str.=$temp;
}
else{
array_push($parses, $temp_str);
$temp_str='';
}
}
Других решений пока нет …