2016-04-03 20 views
1

Verilerim bu biçimde. Bu bir metin dosyası ve sınıf "karakter" dir. Dosyadan birkaç satır yayınladım. Yaklaşık 14000 satır var.Metin satırlarının düzenlenmesi R

"KEY: Aback" 
"SYN: Backwards, rearwards, aft, abaft, astern, behind, back." 
"ANT: Onwards, forwards, ahead, before, afront, beyond, afore." 
"KEY: Abandon" 
"SYN: Leave, forsake, desert, renounce, cease, relinquish," 
"discontinue, castoff, resign, retire, quit, forego, forswear," 
"depart_from, vacate, surrender, abjure, repudiate." 
"ANT: Pursue, prosecute, undertake, seek, court, cherish, favor," 
"protect, claim, maintain, defend, advocate, retain, support, uphold," 
"occupy, haunt, hold, assert, vindicate, keep." 

Hat 6 ve 7 Hat 9 hattı 5. devamıdır ve 10 My mücadelesi ben hattına 5'e hattını 6 ve 7 getirmek ve benzer hat 9 ve 10 nasıl olduğunu hattının 8. devamıdır satır 8'e.
Minnetle alınan tüm ipuçları. (Metin x olarak depolanır) akla gelen

+0

Evet, bazı hatalar nedeniyle tamamen önceki sorumu gönderemedik. Yani, çalışıp çalışmadığı az satırlarla deniyordu. Çalıştı ve ben de tam soruyu yeniden düzenledim. Teşekkürler! – Loy

+1

Evet. [1] [2] ... – Loy

+0

'[: üst:]' belki? –

cevap

3

ilk şey:

x <- paste(x, collapse = " ") 
#prefix each line starter (identifies as pattern: `CAPS:`) with a newline (\n) 
strsplit(gsub("([A-Z]+:)", "\n\\1", x), split = "\n")[[1]][-1] 
# [1] "KEY: Aback "                                          
# [2] "SYN: Backwards, rearwards, aft, abaft, astern, behind, back. "                              
# [3] "ANT: Onwards, forwards, ahead, before, afront, beyond, afore. "                              
# [4] "KEY: Abandon "                                          
# [5] "SYN: Leave, forsake, desert, renounce, cease, relinquish, discontinue, castoff, resign, retire, quit, forego, forswear, depart_from, vacate, surrender, abjure, repudiate. "  
# [6] "ANT: Pursue, prosecute, undertake, seek, court, cherish, favor, protect, claim, maintain, defend, advocate, retain, support, uphold, occupy, haunt, hold, assert, vindicate, keep." 
İlgili konular