2017-02-27 7 views
1

Ich habe ein Array von Zeichen in R. Einige der Strings haben ein '(Nummer)' Muster an diese Zeichenfolge angehängt. Ich versuche, diese '(Zahl)' Zeichenfolge von regulären Ausdrücken zu entfernen, kann es aber nicht herausfinden. Ich kann auf die Zeilen aller Zeilen zugreifen, in denen die Zeichenfolge ein Leerzeichen hat, aber es muss möglich sein, diese Zahlenzeichenfolgen zu finden.mit regulären Ausdrücken mit R

dat <- c("Alabama-Birmingham", "Arizona State", "Canisius", "UCF", "George Washington", 
      "Green Bay", "Iona", "Louisville (7)", "UMass", "Memphis", "Michigan State", 
      "Milwaukee", "Nebraska", "Niagara", "Northern Kentucky", "Notre Dame (21)", 
      "Quinnipiac", "Siena", "Tulsa", "Washington State", "Wright State", 
      "Xavier") 

    rows <- grep(" (.*)", dat) 
    fixed <- gsub(" (.*)","",games[rows,]) 
    dat = fixed 

Antwort

2

Zuerst müssen Sie die Klammern entkommen und es wäre gut, präziser zu sein, was in ihnen ist

gsub("\\s+\\(\\d+\\)", "", dat) 
[1] "Alabama-Birmingham" "Arizona State"  "Canisius"   
[4] "UCF"    "George Washington" "Green Bay"   
[7] "Iona"    "Louisville"   "UMass"    
[10] "Memphis"   "Michigan State"  "Milwaukee"   
[13] "Nebraska"   "Niagara"   "Northern Kentucky" 
[16] "Notre Dame"   "Quinnipiac"   "Siena"    
[19] "Tulsa"    "Washington State" "Wright State"  
[22] "Xavier" 
+0

Dies ist Toll, danke für deine Hilfe. – Developing

0

Wir können dies tun, mit sub

sub("\\s*\\(.*", "", dat) 
#[1] "Alabama-Birmingham" "Arizona State"  "Canisius"   
#[4] "UCF"    "George Washington" "Green Bay"   
#[7] "Iona"    "Louisville"   "UMass"    
#[10] "Memphis"   "Michigan State"  "Milwaukee"   
#[13] "Nebraska"   "Niagara"   "Northern Kentucky" 
#[16] "Notre Dame"   "Quinnipiac"   "Siena"    
#[19] "Tulsa"    "Washington State" "Wright State"  
#[22] "Xavier"    
Verwandte Themen