从字符串中分离名称

时间:2019-06-20 22:10:52

标签: r regex

我正在尝试找出正确的正则表达式以从字符串中提取玩家名称。在某些情况下,名称前有两组括号,如下面的代码所示:基本上,在两种情况下,我都想提取“ K. Collins”

(6:57) K.Collins pass incomplete short right to A.Crumpler. Coverage by #56 Woodley, #22 Gay.
(6:52) (Shotgun) K.Collins pass incomplete short right to B.Scaife (T.Polamalu).

2 个答案:

答案 0 :(得分:0)

您可以这样做:

  s = c("(6:57) K.Collins pass incomplete short right to A.Crumpler. Coverage by #56 Woodley, #22 Gay.", "(6:52) (Shotgun) K.Collins pass incomplete short right to B.Scaife (T.Polamalu).")
  str_extract_all(s, '([A-Z]([a-z]+)?\\.[A-Z][a-z]+)')[1]

答案 1 :(得分:0)

我的猜测是,如果我们希望捕获名字,则此表达式可能在这里有用:

.*?\s+(\S+\.[A-Z][a-z]+).*

使用此捕获组(\S+\.[A-Z][a-z]+)

Demo

,我们的代码可能类似于:

gsub(".*?\\s+(\\S+\\.[A-Z][a-z]+).*", "\\1", input_goes_here)