首页 > 解决方案 > 正则表达式删除点后的数字

问题描述

我正在尝试删除点后的数字,以便在不更改字符串的其余部分的情况下711.50变为。711我有一些代码,但它不能正常工作。

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

期望的输出:"1,300 711 1300"

标签: rregex

解决方案


$in"\\.\\d+$"要求文字后的重复数字在行.结束。但是你有after ,所以正则表达式与字符串不匹配。删除它并按预期工作:1300711.50$

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

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


推荐阅读