0
我有很多不洁数据的形式:的R - 使用GSUB替换字符串()
abc
abc/def
abc/de
abc/d
abc/def/i j k
abc/def/i
abc/def/i j
这仅仅是我想改变的数据的一部分。这是更大的一组数据的一部分。
我想将所有元素更改为abc/def/i j k
。 我已经使用了gsub()
功能如下:
gsub('abc[a-z/]', 'abc/def/i j k', str)
输出:
abc/def/i j k
abc/def/i j k/def
abc/def/i j k/de
abc/def/i j k/d
的问题是它取代了图案的任何发生。
那里我得到了足够体面的结果,唯一的解决办法是在那里我硬编码的所有这样可能的选项:
gsub('abc$|abc/d$|abc/de$|abc/def/i$', 'abc/def/i j k', str)
但是,这不会,如果有任何新的数据的变化工作。 所以我想知道是否有可能得到没有硬编码参数的结果。
所以其他0+字符,被'abc' /'def'占位符?否则,'^ abc [a-z /] * $'将与'sub'一起使用。 –
如果我理解正确,你希望所有的元素都变成“abc/def”,那么为什么不使用'rep(“abc/def”,length(str))'? –
试试'sub(“(abc)[/ az] *”,“\\ 1/def”,x)'或'sub(“^(abc)[/ az] * $”,“\\ 1/def “,x)' –