2017-03-04 90 views
1

我有這樣一些網絡聊天日誌:readlines方法R中的 r n沒有的 n

Agent: Click here. \n Then click here. \n Then do this. \r\n 

Customer: Show me. \r\n 

Agent: Ok. \n One Second. \r\n 

當我將其導入到RI只想治療\ r \ n的新生產線,不是\ n。我沒有看到在readline()中執行該操作的選項?有沒有最好的方法來做到這一點?

這裏是用Python堆棧溢出的解決方案:How to split only on carriage returns with readlines in python?

回答

4

我看着一個人是否可以使用readLines()要做到這一點,但我沒有看到一個簡單的方法與readLines()做到這一點。

看來,基本功能readline()在這裏沒有用。

解決方法是在掃描中讀取文本,然後解析結果。

舉例來說,如果你的文本是foo.txt的:

words <- scan("foo.txt", what = "character") 
words2 <- words[words != "\\n"] 
onepar <- paste(words2, collapse = " ") 
library(stringr) 
lines <- str_split(onepar, pattern = fixed(" \\r\\n"), simplify = TRUE) 
lines 

    [,1]            [,2]      [,3]      [,4] 
[1,] "Agent: Click here. Then click here. Then do this." " Customer: Show me." " Agent: Ok. One Second." "" 

然後,您可以刪除空格,得到類似的東西是什麼,我認爲你想要的。

我希望我有一個更優雅的解決方案。

+1

如果您使用'readr :: read_file'而不是'scan',我認爲它會變得更簡單一些。 – Scarabee

相關問題