【问题标题】:How to extract a string between a space and a dot (.)?如何提取空格和点(。)之间的字符串?
【发布时间】:2017-04-10 11:16:29
【问题描述】:

我有这个字符串:

“怀特,乔治·沃尔修斯先生”

我想提取空格和点之间的部分:

“先生”

【问题讨论】:

标签: r string


【解决方案1】:
x<-"White, Mr. George Voultsios"
sub(".* ","",sub("\\..*","",x))
[1] "Mr"

【讨论】:

    【解决方案2】:

    您可以使用正则表达式,对空格进行后视,对点进行前瞻:

    ## The data:    
    x <- c("White, Mr. George Voultsios", "LastName, Mrs. Firstname")
    

    使用基础包:

    regmatches(x, regexpr("(?<= ).*(?=\\.)", x, perl = TRUE))
    # [1] "Mr"  "Mrs"
    

    使用包stringr:

    library(stringr)
    stringr::str_extract(x, "(?<= ).*(?=\\.)")
    # [1] "Mr"  "Mrs"
    

    (?&lt;= ).*(?=\\.) 模式的作用是:

    • 寻找空格后面的位置 ((?&lt;= ))
    • 然后捕获任意数量的字符 (.*)
    • 直到你到达一个后面跟着一个点的位置 ((?=\\.))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-27
      • 2019-10-13
      • 1970-01-01
      • 2021-10-15
      • 2021-11-05
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多