Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除R中以下数字中的第二个(2)和第五个(0)?例如:3255103161_R - Fatal编程技术网

如何删除R中以下数字中的第二个(2)和第五个(0)?例如:3255103161

如何删除R中以下数字中的第二个(2)和第五个(0)?例如:3255103161,r,R,如何删除R中以下数字中的第二个(2)和第五个(0)?例如:3255103161。您可以使用正则表达式查找(?我们可以使用strsplit将数字拆分为单个数字,并根据需要删除这些数字 val <- 3255103161 rmv <- c(2, nchar(val) - 4); # Remove 2nd from left, 5th from right paste0(unlist(strsplit(as.character(val), ""))[-rmv], collapse =

如何删除R中以下数字中的第二个(2)和第五个(0)?例如:3255103161。

您可以使用正则表达式查找
(?我们可以使用
strsplit
将数字拆分为单个数字,并根据需要删除这些数字

val <- 3255103161

rmv <- c(2, nchar(val) - 4);   # Remove 2nd from left, 5th from right
paste0(unlist(strsplit(as.character(val), ""))[-rmv], collapse = "")
#[1] "35513161"

我们可以使用
sub
删除0

sub("0", "", 3255103161)
#[1] "325513161"
如果是基于职位的

sub("0(.{4})$", "\\1", 3255103161)
#[1] "325513161"
用于从两端删除数字

sub("^(.).(.*)0(.{4})$", "\\1\\2\\3", 3255103161)
#[1] "35513161"

是的,sub(“.({4})$”,“\\1”,3255103161),这适用于“从右侧删除第五个”。但是如何“从左侧删除第二个数字?”我仍然无法理解。@Ying更新了帖子。请检查
val <- 3255103161

rmv <- c(2, nchar(val) - 4);   # Remove 2nd from left, 5th from right
paste0(unlist(strsplit(as.character(val), ""))[-rmv], collapse = "")
#[1] "35513161"
as.integer(paste0(unlist(strsplit(as.character(val), ""))[-rmv], collapse = ""))
#[1] 35513161
sub("0", "", 3255103161)
#[1] "325513161"
sub("0(.{4})$", "\\1", 3255103161)
#[1] "325513161"
sub("^(.).(.*)0(.{4})$", "\\1\\2\\3", 3255103161)
#[1] "35513161"