r - 如何使用 gsub() 准确替换字符串

标签 r nlp

我有一个语料库:
txt =“微电子图案中的图案层。”
我想用“形式”完全替换术语“模式”,我尝试编写一个代码:

txt_replaced = gsub("pattern","form",txt)

但是,txt_replaced 中的响应语料库是:
“在微电子形式中形成的层。”

如您所见,术语“patterned”被错误地替换为“formed”,因为“patterned”中的部分特征与“pattern”匹配。

我想查询是否可以使用 gsub() 完全替换字符串?
也就是说,只有完全匹配的术语才应该被替换。

我渴望得到如下回应:
“微电子形式中的图案层。”

非常感谢!

最佳答案

正如@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匹配一个词边界,所以它可以在两端使用>
txt_replaced <- gsub("\\bpattern\\b","form",txt)

另请注意,如果您只想替换一次,您应该使用 sub而不是 gsub .

关于r - 如何使用 gsub() 准确替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627170/

相关文章:

r - 如何只保留 R 中 4 个数据帧之间的公共(public)行名?

python - 如何计算大型文本语料库中双字母组的每次出现

machine-learning - 远程监管: a rule-based labelling approach?

nlp - 使用动态技术的单词之间的语义相似性(使用维基百科)

r - 对向量中的重复项进行排序和评估

r - 如何在 R 中使用正则表达式转义或清理斜线?

r - 帮助子集数据框

r - 在 R 中模拟中餐馆流程

python - 从文件创建句子列表并将其添加到数据框中

python - 做NLP分类时如何处理非常不平衡的类?