【发布时间】:2020-08-12 20:14:51
【问题描述】:
我有一个文本文件 (my.txt),其中包含我希望在 R 中处理的以下内容。
Lorem ipsum tag:[value_0], dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua tag:[value_01, value_02, value_03].
Ut enim ad minim veniam, tag:[value_04, value_05, value_06, value_07] quis nostrud exercitation, tag:[value_08, value_09, value_10].
我希望处理标签内的字符串 (tag:[ * ])。
标签内的值是
逗号分隔组成
字母数字字符和标点符号(逗号和括号除外)。
标签内的值的数量是可变的(1个或更多)。
我想把逗号换成]+[。
我希望得到的结果如下:
Lorem ipsum tag:[value_0], dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua tag:[value_01]+[value_02]+[value_03].
Ut enim ad minim veniam, tag:[value_04]+[value_05]+[value_06]+[value_07] quis nostrud exercitation, tag:[value_08]+[value_09]+[value_10].
我能想到的只是捕获标签的内容。
gsub(
pattern = paste0(
"tag:\\[([^]]*)\\]"
),
replacement = "\\1",
x = readLines("my.txt")
)
我不能简单地查找和替换逗号,因为标签外有逗号。
有没有办法进一步处理\\1 以用]+[ 替换逗号?
有没有办法使用 base R 来实现我的目标?
非常感谢。
【问题讨论】: