A 今天在 talkstats.com 上发现了这个问题 http://www.talkstats.com/showthread.php/36897-regular-expressions其中发布者想要使用正则表达式删除字符串的最后一个句点(而不是strsplit
)。我尝试这样做,但没有成功。
N <- c("59.22.07", "58.01.32", "57.26.49")
#my attempts:
gsub("(!?\\.)", "", N)
gsub("([\\.]?!)", "", N)
我们如何删除字符串中的最后一个句点以获得:
[1] "59.2207" "58.0132" "57.2649"
也许这样读起来更好一点:
gsub("(.*)\\.(.*)", "\\1\\2", N)
[1] "59.2207" "58.0132" "57.2649"
因为贪心,所以第一个(.*)
将匹配直到最后的所有内容.
并将其存储在\\1
。第二(.*)
将匹配最后一个之后的所有内容.
并将其存储在\\2
.
从某种意义上说,这是一个通用答案,您可以替换\\.
与您选择的任何字符一起删除该字符的最后一次出现。只需要做一次替换即可!
你甚至可以这样做:
gsub("(.*)\\.", "\\1", N)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)