首页 > 解决方案 > 如何使用正则表达式在字符串中填充零以获得长度为 4(从头到尾)?

问题描述

我有一个向量:

x <- c("1. Ure.html", "15. Astra basta.html", "16. Mafa of Part 4.html", "16.1 Veka--Cons.pdf")

如何使用正则表达式获取向量 y?我需要从开始到点将前导零添加到长度为 4 的字符串。

y <-c("0001. Ure.html", "0015. Astra basta.html", "0016. Mafa of Part 4.html", "0016.1 Veka--Cons.pdf")

标签: r

解决方案


一个选项是gsubfn

library(gsubfn)
gsubfn("^\\d+", ~ sprintf("%04d", as.numeric(x)), x)
#[1] "0001. Ure.html"            "0015. Astra basta.html"   
#[3] "0016. Mafa of Part 4.html" "0016.1 Veka--Cons.pdf"    

推荐阅读