【发布时间】:2022-08-12 23:54:03
【问题描述】:
我想根据某些标签有条件地替换文本中的字符。例如,在以下字符串中。
text <- \"In Spanish, Brasil is written as <Brazil>, for some reason.\"
我想转换尖括号外的文本。我 目前知道如何反其道而行之。我可以使用 gsub() 来识别 特定字符串并使用以下命令更改一些字符:
gsub(\"(<.*)z(.*?>)\", \"\\\\1s\\\\2\", text)
[1] \"In Spanish, Brasil is written as <Brasil>, for some reason.\"
但我想做的是改变外面的文字而不影响 尖括号内的文本,例如:
gsub(\"Brasil\", \"Brazil\", text)
[1] \"In Spanish, Brazil is written as <Brazil>, for some reason.\"
预期结果,仅更改尖括号外的文本:
[1] \"In Spanish, Brazil is written as <Brazil>, for some reason.\"
我如何有条件地应用替换,以便角度内的文本 括号不受影响?我是否需要根据尖括号的存在先拆分字符串,应用替换,然后合并所有字符串?或者我可以让它与 gsub() 和一个条件一起工作吗?