【问题标题】:remove all line breaks (enter symbols) from the string using R使用 R 从字符串中删除所有换行符(输入符号)
【发布时间】:2014-03-13 21:52:59
【问题描述】:

如何去除字符串中的所有换行符(输入符号)?

my_string <- "foo\nbar\rbaz\r\nquux"

我试过gsub("\n", "", my_string),但它不起作用,因为换行符和换行符不相等。

【问题讨论】:

    标签: r regex line-breaks


    【解决方案1】:

    您需要去掉 \r\n 以删除回车和新行。

    x <- "foo\nbar\rbaz\r\nquux"
    gsub("[\r\n]", "", x)
    ## [1] "foobarbazquux"
    

    或者

    library(stringr)
    str_replace_all(x, "[\r\n]" , "")
    ## [1] "foobarbazquux"
    

    【讨论】:

    • 如果它是字符串中的文字“\n”,这会起作用吗?
    • @Mojimi - 我刚刚遇到这个问题,发现使用gsub("[\\n]",...) 可以。
    • @ThomasRushton,为我找到了字母 n 的所有实例。
    【解决方案2】:

    我只想在这里指出,如果您想在找到换行符的位置插入空格,最好的选择是使用以下内容:

    gsub("\r?\n|\r", " ", x)
    

    无论文本是否包含\r\n\n\r,它都只会插入一个空格。

    【讨论】:

    • 这是一个不错且完整的答案。我喜欢\r\n 触摸。请注意,如果换行符和回车符仅出现在x 的末尾,则可以使用trimws(x, "right") 快速删除它们。当然,这将修剪尾随空格、制表符等。
    猜你喜欢
    • 2012-10-29
    • 2012-06-04
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多