【问题标题】:how to handle string with quotation marks如何处理带引号的字符串
【发布时间】:2017-06-28 22:39:24
【问题描述】:

您好,我尝试有一些用户输入的字符串,如果字符串有引号(不知道单/双)怎么办?

具体来说,我想将一些 R 代码存储在一个字符串中,例如,

x = 'a'
y = "b"

我如何将这段代码存储在一个字符串中(稍后我将使用eval(parse(text=x)) 来执行它)


更新:

如果要求用户在readline()提示符处输入字符串,R会自动修复引号:

> readline()
123, "4",  '56'
[1] "123, \"4\",  '56'"

我正在研究如何允许用户粘贴多行

【问题讨论】:

  • 您可以使用其中任一来将其指定为字符串,但首选双引号。以下是 R 文档中的更多信息:https://stat.ethz.ch/R-manual/R-devel/library/base/html/Quotes.html
  • "稍后我将使用 eval 执行它" 为什么? R 不是宏语言。
  • eval(parse(text=x)) 你的意思是
  • @thelatemail 谢谢。具体的上下文是,我们有一个用户可以执行 R 脚本的软件。但是开发人员告诉我们必须使用<- 而不是=。我尝试将我的代码存储为字符串,然后进行替换,然后执行eval(parse(text=x))(你是对的@amonk,谢谢-)

标签: r string quotation-marks


【解决方案1】:

您必须转义引号

x = '\'a\''
y = "\"b\""

或者将字符串存储在要存储的引号的替代项中

x = "'a'"
y = '"b"'

【讨论】:

  • 感谢@Conor - 如果您不知道用户要输入什么,有什么办法吗?
  • 你用来获取输入的每个库都会自动处理转义。
【解决方案2】:

我想你是这么说的:-

    x = '"' + "Your String" + '"';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2022-01-10
    • 2018-04-27
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多