在R中替换标点符号&引用;一串

在R中替换标点符号&引用;一串,r,replace,punctuation,R,Replace,Punctuation,我在网上查了一下,发现这个网页可以替换字符串中的一个文本 我试着用同样的方法把标点符号“.”换成另一个标点符号“-”,但没用 group <- c("12357.", "12575.", "197.18", ".18947") gsub(".", "-", group) 而不是 [1] "12357-" "12575-" "197-18" "-18947" 有其他方法可以做到这一点吗?“”在正则表达式语言中表示“任何字符”。要捕获实际点,您需要避开它,因此: gsub("\\."

我在网上查了一下,发现这个网页可以替换字符串中的一个文本

我试着用同样的方法把标点符号“.”换成另一个标点符号“-”,但没用

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

 [1] "12357-" "12575-" "197-18" "-18947"
有其他方法可以做到这一点吗?

“”在正则表达式语言中表示“任何字符”。要捕获实际点,您需要避开它,因此:

gsub("\\.", "-", group)
#[1] "12357-" "12575-" "197-18" "-18947"
正如@akrun在评论中提到的,如果您愿意,也可以将其括在括号中,这样您就不需要对其进行转义:

gsub('[.]', '-', group)
[1] "12357-" "12575-" "197-18" "-18947"
“在正则表达式语言中”表示“任何字符”。要捕获实际点,您需要避开它,因此:

gsub("\\.", "-", group)
#[1] "12357-" "12575-" "197-18" "-18947"
正如@akrun在评论中提到的,如果您愿意,也可以将其括在括号中,这样您就不需要对其进行转义:

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