繁体   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