【发布时间】:2017-01-25 02:37:12
【问题描述】:
我有一个字符串列表,下面是一个示例(实际列表的格式种类要多得多)
[1]“AB-123”
[2] “AB-312”
[3] “AB-546”
[4]《ZXC/123456》
假设 [1] 是正确的格式,我想从 [1] 中提取正则表达式并将其与其余的匹配以检测 [4] 不一致。有没有办法做到这一点,或者有更好的方法来达到同样的结果?
*EDIT - 我发现了一些接近我需要的东西,有人知道这样做的任何包吗? Given a string, generate a regex that can parse *similar* strings
【问题讨论】:
-
"我想从 [1] 中提取正则表达式" - 你有什么想法吗?你如何定义“一致”?一样长吗?
-两侧的粗略图案相同?数字与字母比较? -
你需要
grepl(substr(v1[1], 1, 2), v1[-1])wherev1 <- c( "AB-123" , "AB-312" , "AB-546" , "ZXC/123456")这样的东西 -
@akrun 是的,我需要这样的东西,除了 str 的格式可能并不总是以“AB”开头。这就是为什么我想从 str 中提取正则表达式而不是指定它
-
@thelatemail 我认为一致的是字符的长度、字母、数字或符号的位置。我想在分解 str - "AB-123" = [char, char, sign, num, num, num] 后得到一个类型列表?不太确定这是否可行
标签: r