2017-06-15 122 views
1

我有一组复杂的标识符是数据框的列名称。这正则表达式匹配所有的人:从正则表达式生成部分随机字符串

regex <- "^PLUTO-.{2}-.{4}-01.{1}-.{3}-.{4}-.{2}$" 

现在我想生成使用此正则表达式来得到这样的随机标识符:

"PLUTO-xx-xxxx-01x-xxx-xxxx-xx" 
"PLUTO-xx-xxxx-01x-xxx-xxxx-xx" 
... 

其中x是随机字符。

有没有在R中做这种事情的函数?我发现了java和python的这些主题,但没有任何R(只有paste()和collapse()解决方案)。

回答

1

一种选择是gsubfn

library(gsubfn) 
gsub("\\^|\\$", "", gsubfn("\\.{([[:digit:]]+)}", ~ paste(rep("x", n), collapse=""), regex)) 
#[1] "PLUTO-xx-xxxx-01x-xxx-xxxx-xx" 
+1

感谢你的代码'代表(样本(C(字母,1:9),1),N)'的把戏做到了!虽然我在想一个能识别正则表达式并随机生成可能字符串的函数。 –

相关问题