Es muss eine einfache Antwort darauf geben, aber ich bin neu in Regex und konnte keinen finden.Erhalte die Anzahl der Phrasen, die in Klammern enthalten sind und ein bestimmtes Zeichen enthalten
Ich habe ein Datenframe (df) mit Textzeichenfolgen angeordnet in einem Spaltenvektor der Länge n (df $ text). Jeder der Texte in dieser Spalte ist mit Klammern in Klammern versehen. Ich kann diese Phrasen identifizieren:
regmatches(df$text, gregexpr("(?<=\\().*?(?=\\))", df$text, perl=T))[[1]]
Der obige Code gibt alle Text in Klammern. Ich bin jedoch nur an Klammern interessiert, die "v." Enthalten. im Format 'x v. y', wobei x und y eine beliebige Anzahl von Zeichen (einschließlich Leerzeichen) zwischen den Klammern sind; zum Beispiel "(Bundesstaat Arkansas v. John Doe)". Passende Phrasen (Gerichtsfälle) haben immer dieses Format: offene Klammern, Wort beginnt mit Großbuchstaben, mögliche Leerzeichen und andere Wörter, v., Ein anderes Wort, das mit einem Großbuchstaben beginnt, und möglicherweise mehr Leerzeichen und Wörter, enge Klammern.
Ich würde dann gerne eine neue Spalte mit Zählungen von x v. Y Phrasen in jeder Zeile erstellen.
Bonus, wenn eine Art und Weise gibt es diese separat für die gleichen Sätze, kursiv und nicht in Klammern bezeichnet zu tun:. Bundesstaat Arkansas v John Doe (aber vielleicht sollte das als eine separate Frage gestellt werden).
Vielen Dank, dass Sie einem Neuling geholfen haben!
Könnten Sie bitte ein Beispiel für Ihre Daten sowie die gewünschte Ausgabe für dieses Beispiel angeben, damit wir sicher sein können, dass wir Ihnen das geben, wonach Sie suchen? – Barker