【问题标题】:Extract words from string starting with $从 $ 开头的字符串中提取单词
【发布时间】:2020-04-21 05:28:30
【问题描述】:

是否可以从R中以$开头的字符串中提取单词?

x <- c(“$abc”, “abc”, “$123”, “456”)

想要的结果

  • (案例1)

    [1] “$abc”, “$123”

  • 甚至更好(案例2)

    [1] “$abc”

谢谢

【问题讨论】:

标签: r string extract


【解决方案1】:

我们可以从stringr使用str_detect

library(stringr)
x[str_detect(x, "^\\$[A-Za-z]")]
#[1] "$abc"   "$AC-DC"

数据

x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z")

【讨论】:

    【解决方案2】:

    startWith 函数(base)返回每个索引,如果值以作为参数(TRUE)或不(FALSE)提供的字符串开头,所以你可以做这样的事情

    x[startsWith(x,"$")]
    

    【讨论】:

      【解决方案3】:

      这是我的python 代码。但它会让您了解它如何在r 中工作。这里的逻辑是一样的:

      L = [“$abc”, “abc”, “$123”, “456”] 
      
      for i in L:
          if "$" in i:
              print(i)
      

      我刚刚创建了一个名为L 的列表。 然后我使用for loop逐行获取列表中的所有字符串,然后打印出来。

      【讨论】:

        【解决方案4】:

        使用grep:

        x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z")
        
        grep("^\\$[A-Za-z]", x, value=TRUE)
        #[1] "$abc"   "$AC-DC"
        

        ^ 表示开头。

        \\$ 表示搜索文字 $。

        [A-Za-z] 表示任何字母。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-29
          相关资源
          最近更新 更多