操纵R中的字符串替换小数

时间:2015-11-16 17:10:40

标签: r stringr

我对这个问题有点困惑。我试图删除第一个数字之前的点,但我希望保留两个数字之间的任何点。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 122(100.0)。 。 。 。 。 。 。 。 。 。 。 。 。 。 7(5。7)

例如,上面应该输出到

122(100.0)。 。 。 。 。 。 。 。 。 。 。 。 。 。 7(5。7)

我不确定我应该使用哪些功能或包来执行上述操作

谢谢!

2 个答案:

答案 0 :(得分:1)

也许是这样的:

#copy pasted from your example
text <- ". . . . . . . . . . . . . . 122 (100.0) . . . . . . . . . . . . . . 7 (5. 7)"

#find the location of the first number using gregexpr
loc <- gregexpr('[0-9]', text)[[1]][1]

#substring the text from loc and until the end
substr(text, loc, nchar(text)) # or substring(text, loc)

输出:

[1] "122 (100.0) . . . . . . . . . . . . . . 7 (5. 7)"

答案 1 :(得分:1)

这应该适用于您所要求的内容。

sub('^[\\h.]+', '', x, perl=TRUE)