2017-02-07 9 views
0

textreadr으로 인터뷰 대본을 가져 오려고 시도하지만 분리 문자 (대개 콜론)를 찾아 텍스트를 두 열로 분리합니다. 필사본에서 오류가 발생하는 응답 텍스트 본문에 콜론이 나타나는 경우가 있습니다. 이 콜론을 대시 또는 밑줄과 같은 다른 것으로 바꾸기를 원했지만 그 방법에 대해서는 확실하지 않았습니다.R 위치가 뒤 또는 두 번 이상 발생하는 경우 문자열의 문자 바꾸기

greagexpr()을 통해 모든 콜론의 위치를 ​​찾을 수 있지만 어떻게 대체 할 수 있습니까? if 문을 통해 grep 또는 sub를 사용할 수 있습니까? 내가 통해 유지하고 싶어 첫 번째 콜론을 다시 삽입 그런

dat = str_replace_all(text,":","_") 

을 통해

먼저 나는 모든 콜론을 대체 :

편집

확인을 stringr 패키지를 통해 inelegent 해결책을 발견

dat = str_replace(dat,"_",":") 

좋지 않지만 작동했습니다 ....

+1

stringi :: stri_replace_first_regex –

답변

0

strsplit을 사용하고 첫 번째 요소 이후의 모든 요소를 ​​결합 할 수 있습니다. 다음과 같음 :

txn <- c("Int1: This is some text.", 
     "Int2: As I speak I take a long pause: for effect", 
     "Int1: This inteview is over.")    

transcripts <- strsplit(txn, ":") 
interviewer <- sapply(transcripts, "[", 1) 
scripts <- sapply(transcripts, function(x) paste(x[-1], collapse = ":")) 
dat <- data.frame(interviewer, scripts)