我有一个语料库: txt =“微电子图案中的图案化层”。 我想用“表单”完全替换术语“模式”,我尝试编写代码:
txt_replaced = gsub("pattern","form",txt)
然而,txt_replaced中的响应语料库是: “微电子形式的形成层。”
正如你所看到的,“图案化”一词被“形成”错误地取代,因为“图案”中的部分特征与“图案”相匹配。
我想查询一下,如果我可以使用gsub()完全替换字符串? 也就是说,只应替换完全匹配的术语。
我渴望得到回应如下: “微电子形式的图案化层。”
非常感谢!
答案 0 :(得分:27)
正如@koshke所指出的那样,一个非常类似的问题在我之前得到了回答。 ......但那是grep
,这是gsub
,所以我会再次回答:
“\<”是一个单词开头的转义序列,“>”结束了。在R字符串中,您需要加倍反斜杠,所以:
txt <- "a patterned layer within a microelectronic pattern."
txt_replaced <- gsub("\\<pattern\\>","form",txt)
txt_replaced
# [1] "a patterned layer within a microelectronic form."
或者,您可以使用\b
代替\<
和\>
。 \b
匹配字边界,因此可以在两端使用&gt;
txt_replaced <- gsub("\\bpattern\\b","form",txt)
另请注意,如果您只想替换一次,则应使用sub
代替gsub
。