2016-12-14 2 views
0

문서가 100 개인 텍스트 파일이 있습니다. 각 기사는 단어 으로 끝나며 공백 다음에 영숫자으로 끝납니다. 영숫자는 25 자입니다.코퍼스를 만들기위한 텍스트 파일 분할하기

네 개의 기사가 끝나는 예. 영숫자에는 설정된 패턴이 없습니다.

  • 문서 AFNR000020161206ecc700006
  • 문서 TEKMET0020161202ecc200008
  • 문서 AFNR000020161130ecc10001o
  • 문서 AFNR000020161127ecbs00018

R 분할 텍스트 파일에 텍스트 파일을 읽을 수있는 내 코드

textfile <- "Text.txt" 
TextData <-readLines(textfile) 
head(TextData) 
length(TextData) 

nchar(TextData) 
TextData = strsplit(TextData, "<Document>" "[a-zA-Z0-9]") 

strsplit을 사용하여 균열을 만들었습니다. 영숫자에 걸쳐 분할을 만듭니다.

은 내가 코퍼스 만들 수 있습니다 분할되면 :

library(tm) 
doc.vec <- VectorSource(TextData) 
corpusDoc <- Corpus(doc.vec) 
summary(corpusDoc) 

가 감사를

답변

0

그것은 당신의 데이터가 완전히 명확처럼 보이지만 그것을 가정하는 것은 단지 하나의 긴 문자열과 "문서 영숫자 코드하지 무슨 "텍스트의 나머지 부분과 일치한다, 다음 작동합니다 :

# mock data 
TextData <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam egestas sapien eu leo rutrum, non commodo metus auctor. Quisque id libero quis augue bibendum auctor sed vel odio. Aliquam quam odio, maximus vitae elit at, pharetra volutpat nulla. Nam iaculis mattis lectus, sit amet euismod neque ornare consectetur. Cras nec nibh sit amet massa laoreet tempor sit amet in sem. Sed pulvinar sapien risus, molestie cursus augue rhoncus sed. Donec ullamcorper tellus vel tortor finibus pretium. Sed non tristique nisi. Document AFNR000020161206ecc700006 Vestibulum quis risus pulvinar elit blandit faucibus sed et massa. Phasellus non arcu vulputate, aliquam felis sit amet, pellentesque lorem. Praesent ut felis pellentesque, tincidunt risus imperdiet, vehicula ante. Donec odio sapien, vulputate sed semper at, pharetra sit amet dui. Fusce aliquam ullamcorper nunc in ullamcorper. Suspendisse vitae ex aliquam turpis vestibulum semper at ut quam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam varius, risus sed feugiat mollis, nunc urna hendrerit mi, eu cursus erat mi quis ligula. Maecenas sit amet sagittis tellus. Donec ultricies faucibus ipsum id mattis. Ut lacinia, diam nec dignissim vestibulum, nibh augue tincidunt dolor, eu dictum felis augue in elit. Sed et scelerisque felis. Document TEKMET0020161202ecc200008 Aenean ut erat mattis, convallis orci eget, tincidunt massa. Integer dictum in erat et ornare. Donec et cursus eros. Aenean condimentum erat in lacus dictum, ac convallis tortor venenatis. Donec luctus dapibus aliquam. Maecenas et ipsum ac lacus convallis luctus. Phasellus volutpat risus sit amet volutpat vestibulum. Vestibulum eu elit sed massa imperdiet congue id interdum odio. Document AFNR000020161130ecc10001o Proin et accumsan nisi. Suspendisse tempus accumsan mollis. Integer aliquam fermentum consequat. Nunc sit amet suscipit tellus, in fringilla diam. Nulla rutrum elit nec blandit varius. Praesent vehicula nibh orci, nec facilisis sem vulputate non. Cras vel ipsum eleifend, vulputate ante congue, facilisis ligula. Integer ac mollis nibh. Ut vitae lacus eget mauris ultrices iaculis non eget diam. Praesent placerat lorem id ante maximus cursus. Ut quis lacus nec turpis tincidunt sagittis lacinia at tortor. Cras vitae posuere diam. Maecenas ut convallis lacus, in commodo neque. Sed rhoncus cursus arcu, nec pharetra odio lacinia quis. Sed nec neque libero. Etiam sit amet purus eros. Document AFNR000020161127ecbs0001" 

# split on desired string 
TextData <- strsplit(TextData, "Document [a-zA-Z0-9]{25}") 

# if you want it as a vecotr 
TextData <- unlist(TextData) 

문제가 방식에처럼 당신이 당신의 01에서 정규 표현식을 정의 보인다기능.

관련 문제