如何转换;A01";至;A1";使用R?
如何使用R将“A01”转换为“A1” 作为第一步,我尝试获取字符串中的中间字符,但我做不到如何转换;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
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。谢谢!你让我开心,谢谢你!你让我开心。