Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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
如何转换;A01";至;A1";使用R?_R - Fatal编程技术网

如何转换;A01";至;A1";使用R?

如何转换;A01";至;A1";使用R?,r,R,如何使用R将“A01”转换为“A1” 作为第一步,我尝试获取字符串中的中间字符,但我做不到 STR <- "A01" p <- as.character(substr(STR,2,1)) 您可以使用lookaround替换0值: sub('(?<![0-9])0*(?=[0-9])', '', STR, perl=TRUE) [1] "A1" 您可以使用lookaround替换0值: sub('(?<![0-9])0*(?=[0-9])', '', STR, perl

如何使用R将“A01”转换为“A1”

作为第一步,我尝试获取字符串中的中间字符,但我做不到

STR <- "A01"
p <- as.character(substr(STR,2,1))

您可以使用lookaround替换
0
值:

sub('(?<![0-9])0*(?=[0-9])', '', STR, perl=TRUE)
[1] "A1"

您可以使用lookaround替换
0
值:

sub('(?<![0-9])0*(?=[0-9])', '', STR, perl=TRUE)
[1] "A1"

我们也可以在没有regex lookarounds的情况下实现这一点

sub("([A-Z]+)0*([0-9]+)", "\\1\\2", c("A01", "A0010", "A00"))
#[1] "A1"  "A10" "A0" 

我们也可以在没有regex lookarounds的情况下实现这一点

sub("([A-Z]+)0*([0-9]+)", "\\1\\2", c("A01", "A0010", "A00"))
#[1] "A1"  "A10" "A0" 

你想遵循的一般规则是什么?你们所有的值都是以一个字母开头吗?若字符串是“A00”呢?我试过了。当它是“A10”时,则不应使其成为“A1”。它必须是“A10”。有什么帮助吗?是的,它将是字符串开头的一个字母,如“A01”…“A12”。我只想删除中间的0。您希望遵循的一般规则是什么?你们所有的值都是以一个字母开头吗?若字符串是“A00”呢?我试过了。当它是“A10”时,则不应使其成为“A1”。它必须是“A10”。有什么帮助吗?是的,它将是字符串开头的一个字母,如“A01”…“A12”。我只想删除中间的0。谢谢!你让我开心,谢谢你!你让我开心。