【问题标题】:R shiny app error: unexpected string constant in gsub function for curly quotesR闪亮的应用程序错误:gsub函数中用于花括号的意外字符串常量
【发布时间】:2018-11-30 06:32:35
【问题描述】:

我正在构建进行大量文本挖掘的闪亮应用。

当我在 R 中执行下面的函数来分别用 " 和 ' 替换花括号 "" 和 '' 时,效果很好。

例子:

essay <- "peoples’ memories have “faded into mist” "
essay <- gsub("[“”]", "\"", gsub("[‘’]", "'", essay))
> essay
[1] "peoples' memories have \"faded into mist\" "

上面的效果很好,但是当我切换到闪亮的应用文件 app.R 时,它就不起作用了。

gsub 函数在我的 app.R 脚本中由 source("functions.R") 调用的 functions.R 脚本中。

现在,当我在 app.R 文件中单击 Run App 时,控制台会打印出以下错误:

Warning: Error in source: functions.R:331:20: unexpected string constant
330:   # replace smart curly quotes by normal quotes
331:   essay <- gsub("[""]"
47: source

有人知道这是什么原因吗?

【问题讨论】:

  • 请提供一些使用 dput() 的可重现示例
  • 我已编辑。现在应该更清楚了
  • 这一定是编码或规范化的问题。试试essay &lt;- gsub("[“”]", "\"", gsub("[‘’]", "'", `Encoding&lt;-`(essay, "UTF8")))
  • 它没有用:/它已将大引号变成“€œ,’,â€。并且该应用返回了相同的消息错误
  • @WiktorStribiżew 想法的另一种方法,我会在脚本开头尝试options(encoding = "UTF-8")

标签: r text shiny gsub


【解决方案1】:

所以 R 对闪亮应用程序中 gsub 中的 [“”] 和 [''] 不满意。

以下是 Wiktor Stribiżew 对报价规范化的详细回答: Text Mining R Package & Regex to handle Replace Smart Curly Quotes

但是当函数在闪亮的应用程序中执行时,它会像正常的 [""] 和 [''] 一样吐出引号,因此该函数不起作用。

我最终使用了https://github.com/ColinFay/proustr#pr_normalize_punc

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-24
    • 2021-07-17
    • 1970-01-01
    • 2015-07-02
    • 2011-09-06
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    相关资源
    最近更新 更多