正则表达式删除点后的数字

时间:2018-07-30 22:41:20

标签: r regex

我正在尝试删除点后的数字,以使711.50变为711,而不更改字符串的其余部分。我有一些代码,但无法正常工作。

str <- "1,300 711.50 1300"
gsub("\\.\\d+$", "", str)

所需的输出:"1,300 711 1300"

1 个答案:

答案 0 :(得分:4)

$中的"\\.\\d+$"要求在文字.之后的重复数字以在行的末尾完成 。但是您在1300之后有711.50,因此正则表达式与字符串不匹配。删除$,它可以正常工作:

str <- "1,300 711.50 1300"
gsub("\\.\\d+", "", str)

(如果您输入的str"1,300 711.50",并且行末为.50,则您的原始正则表达式将起作用)