删除每个“。”除了最后一个使用正则表达式

时间:2019-03-08 07:09:03

标签: r regex

我正在尝试删除每个“”。除了字符串数据帧中的最后一个。我对正则表达式不太满意,所以我尝试使用以下答案中的一个:Regex to remove all but the last occurrence of a single character

x <- c("1.134.89", "1.125.55", "1.268.61", "1.022.28", "1.386.73", 
       "1.306.64", "1.085.78", "1.700.79", "1.260.60", "1.393.48", "1.498.10", 
       "909.49", "454.98", "874.41", "998.03", "883.70", "941.03", "961.94", 
       "170.27", "174.67", "183.58", "196.09", "167.42", "163.54", "174.22", 
       "182.91", "175.38", "179.80", "180.75", "182.66")

gsub("\.(?![^.]+$)|[^0-9.]", "", x)
  

错误:“ \”。是无法识别的以““ \。”开头的字符串的转义符。

所以我尝试在\之前添加另一个\.

gsub("\\.(?![^.]+$)|[^0-9.]", "", x)
  

gsub(“ \\。(?![^。] + $)| [^ 0-9。]”,“”,x)中的错误:     无效的正则表达式“ \。(?![^。] + $)| [^ 0-9。]”,原因为“无效的正则表达式”

您能帮我修复正则表达式,使其与R一起使用吗?非常感谢你!

0 个答案:

没有答案