【问题标题】:In R replace punctuation "." within a string [duplicate]在 R 中替换标点符号“。”在字符串中[重复]
【发布时间】:2015-10-12 09:50:09
【问题描述】:

我查看了网络,发现此网页In R, replace text within a string 替换字符串中的文本。

我尝试了相同的方法来替换标点符号“。”换成另一个标点符号“-”,但它不起作用。

 group <- c("12357.", "12575.", "197.18", ".18947")
 gsub(".", "-", group)

给出这个输出

 [1] "------" "------" "------" "------"

而不是

 [1] "12357-" "12575-" "197-18" "-18947"

有没有其他方法可以做到这一点?

【问题讨论】:

    标签: r replace punctuation


    【解决方案1】:

    “。”在正则表达式语言中的意思是“任何字符”。要捕获实际点,您需要对其进行转义,因此:

    gsub("\\.", "-", group)
    #[1] "12357-" "12575-" "197-18" "-18947"
    

    正如 @akrun 在 cmets 中提到的,如果您愿意,也可以将其括在括号中,那么您不需要转义它:

    gsub('[.]', '-', group)
    [1] "12357-" "12575-" "197-18" "-18947"
    

    【讨论】:

    • gsub('[.]', '-', group)gsub('.', '-', group, fixed=TRUE)
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2021-07-06
    相关资源
    最近更新 更多