【问题标题】:Put space after a specifc word in a string vector in R在R中的字符串向量中的特定单词之后放置空格
【发布时间】:2017-01-14 16:02:00
【问题描述】:

我想在 R 中的字符串向量中的特定字符之后放置一个空格。

例子:

Text <-"<U+00A6>Word"

我的目标是在"&gt;" 之后放置一个空格,将字符串分隔为两个字符:&lt;U+00A6&gt; Word

我尝试使用 gsub,但我没有正确的想法:

Text = gsub("<*", " ", Text)

但这只会在每个字符后放置一个空格。

您能就此提出建议吗?

【问题讨论】:

  • 您可以编辑您原来的问题来修正错误。
  • Text = gsub("&gt;", "&gt; ", Text) 呢?

标签: r regex string gsub


【解决方案1】:

你可以用这个:

sub(">", "> ", Text)
# [1] "<U+0093> Word"

或者这个(不重复&gt;):

sub("(?<=>)", " ", Text, perl = TRUE)
# [1] "<U+0093> Word"

如果只想提取Word,可以使用:

sub(".*>", "", Text)
# [1] "Word"

【讨论】:

    【解决方案2】:

    我们可以使用str_extract提取&gt;之后的单词

    library(stringr)
    str_extract(Text, "(?<=>)\\w+")
    #[1] "Word"
    

    或者另一个选项是strsplit

    strsplit(Text, ">")[[1]][2]
    #[1] "Word"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 2014-10-03
      • 1970-01-01
      • 2015-02-08
      • 2011-04-28
      • 1970-01-01
      相关资源
      最近更新 更多