如何用现有字符替换 R 中字符串中的特定字符?

How do you replace a specific character in a string in R with an existing character?

我有一个带有变量 df$sec 的小标题,它是两个字符串的向量。

sec <- c("21", "33", "24", "7-", "32", "1-")  

字符集7-和1-应该是07和01

使用{stringr}

df %>% 
  mutate(section = str_replace(string=sec, pattern = ".-$", "0?")) %>% 
  select(section)  

这个 returns: 21,33,24,0?, 32, 0?
我如何 return 字符 7- 和 1- 为 07 和 01?

您可以使用

str_replace(string=sec, pattern = "^(\d)-$", "0\1")

正则表达式匹配

  • ^ - 字符串开头
  • (\d) - 捕获组#1(替换模式中的</code>指的是在该组中捕获的字符串):一个数字</li> <li><code>- - 一个连字符
  • $ - 字符串结尾。