【问题标题】:Replacing "," with " "," " in R string在R字符串中用“”,“替换“,”
【发布时间】:2015-07-07 22:19:21
【问题描述】:

我有一个 R 字符串

y <- "age,income,homeowner_status_desc,marital_status_cd,gender,education"

我想把它转换成:

y ="age","income","homeowner_status_desc","marital_status_cd","gender","education"

所以,基本上我想用"," 替换字符串中的,。我尝试使用gsub(",",'","' , y),但它没有给出我正在寻找的输出。

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

【问题讨论】:

  • 您的 y 实际上并没有 " 字符。试试cat(y,"\n") 看看它是纯文本的样子。
  • 您是否只是想将字符串分成如下部分:scan(text=y,sep=",",what=character())
  • @hmi2015:请注意,代码的第二位不是正确的 R 赋值语法,这就是人们猜测您真正想要什么的原因。如果你想要y=c( "age", "income", "homeowner_status_desc", "marital_status_cd","gender","education"),那么你应该澄清一下。

标签: r string replace


【解决方案1】:

只需使用cat 函数显示输出。

> y <- "age,income,homeowner_status_desc,marital_status_cd,gender,education"
> gsub(",", "\",\"", y)
[1] "age\",\"income\",\"homeowner_status_desc\",\"marital_status_cd\",\"gender\",\"education"
> x <- gsub(",", "\",\"", y)
> cat(x)
age","income","homeowner_status_desc","marital_status_cd","gender","education

【讨论】:

  • 为了解释这一点 - 你需要用 \ 转义 " 字符
  • @hmi2015 - 没有反斜杠 - 这纯粹是在 R 中的显示中。尝试在上面的 cat() 周围再次回答 gsub 以纯文本形式查看它。
  • 就是这样的解释器节目。它实际上没有任何反斜杠。
【解决方案2】:

这是你想要的吗?

> (y <- unlist(strsplit(y, ",")))
[1] "age"                   "income"                "homeowner_status_desc" "marital_status_cd"    
[5] "gender"                "education"   

约翰

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多