【问题标题】:Change words starting with pattern [duplicate]更改以模式开头的单词[重复]
【发布时间】:2020-01-16 11:44:05
【问题描述】:

我正在分析政治言论,想规范一些方言词。我想更改所有以“fra”开头的单词,以便它们以“fre”开头。

例子:

“frad 走进酒吧” 变成 “fred 走进酒吧”

“你是弗雷德吗”变成了“你是弗雷德吗”

“你害怕吗”不应该改变,保持不变

我如何在 R 中做到这一点?

演讲与一些元数据一起存储在数据框中,其中变量 text 存储一年内每位政治家的演讲。

【问题讨论】:

标签: r text nlp speech dialect


【解决方案1】:

您要查找的内容称为正则表达式:

text <- c("frad walked into a bar", "are you frad", "are you afraid")

gsub("\\bfra", "fre", text)
#> [1] "fred walked into a bar" "are you fred"           "are you afraid"

在这种情况下,\\b 表示单词的开头或结尾。您可以使用此cheat sheet 了解更多信息或查找其他好的资源。

【讨论】:

  • 为什么不使用“\\
  • 试试gsub("\\bfra", "fre", 'frad is fragile')
  • 我以前从未听说过"\\&lt;",但似乎也在做同样的事情。 “frad 很脆弱”似乎按预期工作(“fred is fragile”)。 @Sotos,你的意思是什么?
  • 我的观点是脆弱不应该改变,这个任务可能比提出的要复杂得多。但如果 OP 对此很好,那么我想一切都很好。
  • 就我而言,最重要的是,不同方言的政治家使用相同的词,如果它传达相同的含义(Fred 应该是 Fred 或 Frad)。所以在这个分析中将脆弱变为脆弱并不重要,只要这个词只有一个版本。谢谢大家!
猜你喜欢
  • 1970-01-01
  • 2014-10-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
相关资源
最近更新 更多