R 从变量中删除不需要的连字符

R 从变量中删除不需要的连字符,r,R,我有如下数据 0-0098-45.3A-22 0-0104-44.0A-23 0-0983-29.1-22 0-1757-42.5A-22 0-4968-37.3A2-23 000000-44.0a-23 000000-45.3A-42 有没有办法去除最初不需要的宣传,让它像下面的R 00098-45.3A-22 00104-44.0A-23 00983-29.1-22 01757-42.5A-22 04968-37.3A2-23 000000-44.0a-23 000000-45.3A-42

我有如下数据

0-0098-45.3A-22
0-0104-44.0A-23
0-0983-29.1-22
0-1757-42.5A-22
0-4968-37.3A2-23
000000-44.0a-23
000000-45.3A-42
有没有办法去除最初不需要的宣传,让它像下面的R

00098-45.3A-22
00104-44.0A-23
00983-29.1-22
01757-42.5A-22
04968-37.3A2-23
000000-44.0a-23
000000-45.3A-42

任何帮助都会非常有用。

我们可以使用
sub
删除字符串第二位置不需要的
-
。我们使用
^
指定字符串的开头,将第一个字符捕获为一个组(
(。
-
是指任何字符元素的元字符),然后是
-
,在替换中,我们对捕获的组使用反向引用(
\\1

df$v1 <- sub('^(.)-', '\\1', df$v1)
df$v1
#[1] "00098-45.3A-22"  "00104-44.0A-23"  "00983-29.1-22"   
#[4] "01757-42.5A-22"  "04968-37.3A2-23" "000000-44.0a-23" "000000-45.3A-42"
df$v1
df <- structure(list(v1 = c("0-0098-45.3A-22", "0-0104-44.0A-23", "0-0983-29.1-22", 
"0-1757-42.5A-22", "0-4968-37.3A2-23", "000000-44.0a-23", "000000-45.3A-42"
)), .Names = "v1", class = "data.frame", row.names = c(NA, -7L))