簡體   English   中英

用 gsub R 替換文本

[英]Replacing text with gsub R

我想替換文本的一部分 據說gsub可以做到這一點。

這是文本類型的示例:

text <- "[2017-12-29 18:24:52] Comentario añadido: SOME RANDOM TEXT I NEED ANALYZE 
[2017-12-29 18:24:52] Comentario añadido: OTHER RANDOM TEXT
[2017-12-29 19:24:52] Comentario añadido: BLA BLA BLA
[2017-12-29 20:24:52] Comentario añadido: BLA BLA BLA BLABLA BLA BLABLA BLA BLA
[2017-12-29 21:24:52] Comentario añadido: BLA BLA BLABLA BLA BLABLA BLA BLA
[2017-12-29 22:24:52] Comentario añadido: BLA BLA BLABLA BLA BLA"

這是想要的結果:

"   | SOME RANDOM TEXT I NEED ANALYZE 
    | OTHER RANDOM TEXT
    | BLA BLA BLA
    | BLA BLA BLA BLABLA BLA BLABLA BLA BLA
    | BLA BLA BLABLA BLA BLABLA BLA BLA
    | BLA BLA BLABLA BLA BLA"

這個想法是替換該信息以節省空間並使用較少的文本執行另一個分析。

這就是我用gsub得到的:

gsub("\\[.*\\] Comentario añadido:", " ° ", text)
[1] " °  BLA BLA BLABLA BLA BLA"

我怎樣才能實現替換所有案例?

thx 先進

你可以使. 不匹配換行符:

gsub("(?n)\\[.*?] Comentario añadido:", " ° ", text)
      ^^^^

我還建議使用一個懶點, .*? ,以防萬一后面有更多的]字符。 在線查看R 演示

另一種解決方案可能是

gsub("\\[[^][]*] Comentario añadido:", " ° ", text)

這里, [^][]*匹配除][之外的零個或多個字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM