强制gsub保持尾随零

时间:2017-12-01 12:23:54

标签: r regex gsub

我想在“。”之后提取数字。来自data.frame [,1]并将它们存储在第二列中,如下所示:

1 6.354 354 
2 6.355 355
3 6.363 363
4 6.367 367
5 6.378 378
6 6.419 419
7 6.426 426
8 6.427 427
9 6.428 428
10 6.431 431
11 6.460 46
12 6.477 477
(...)

要做到这一点,我使用gsub(".*\\.", "", data.frame[,1]),但这会忽略零,因为您可以看到,例如在第11行。 如何在“。”之后提取完整的数字/所有数字? 该列是数字。

1 个答案:

答案 0 :(得分:2)

如果这是数字,那么我们可能需要使用characterformat将其转换为sprintf,然后使用sub

sub("^[^.]*[.]", "", format(v1, width = max(nchar(v1))))
#[1] "354" "355" "460" "400" "012"

数据

v1 <- c(6.354, 6.355, 6.460, 6.400, 6.012)