我有一个包含嵌入式XML内容的文本文件。字段用“|”分隔但是有一些值在xml标签内用管道分隔。我想用空格替换xml标签内的管道分隔符。
几行数据:
TASK_VIEWED_FLAG|TASK_OUTCOME|CURRENT_QUEUE|QUEUE_CHANGE_TS|
TASK_XML_DATA|SCORE_XML_DATA|
"N"|" "|"4"|"."|"<?xml version="1.0" encoding="UTF-8"?>
<tasks xmlns="xyz.com/abc/wkbh/task"><task><taskxml>"|
"<?xml version="1.0" encoding="UTF-8"?>
<scores xmlns:dnr="xyz.com/abc/wkbh/score"><score><scorexml>
<Params>score_var=26.0|perc_var=76.5|prop_var=0.74</Params>
<weight>w1=3.0|w2=7.0</weight>"
以下尝试弄乱了标题。
newtext <- readLines("sample.txt")
newtext <- gsub(">(.+?)|(.+?)|(.+?)<", ">\\1[[:space:]]\\2[[:space:]]\\3<", newtext)
对此的任何提示都非常感谢。
答案 0 :(得分:0)
您可以使用stringr
包来替换使用>
的{{1}}与下一个<
之间的所有字符串中的管道。我还添加了>[^<]+<
以避免替换[^"]
<taskxml>"|"<?xml