Ich habe eine Zeichenfolge
df
%Vor%Ich mag zum Beispiel Zeichen zwischen der Parentesie zu erfassen. Ich möchte ID-1290 aus dem obigen Beispiel erhalten.
Ich habe das benutzt:
%Vor%Das gibt mir Zahlen wie
%Vor%Gibt es eine einfache Möglichkeit, Text zwischen Parentese mit Regex in R zu greifen?
Ich bevorzuge %code% dafür:
%Vor%Die Regex funktioniert so:
Mit anderen Worten: Ersetzen Sie den gesamten Text in der Zeichenfolge durch die Zurück-Referenz
Wenn Sie %code% anstatt %code% verwenden möchten, tun Sie Folgendes:
%Vor%Dies gibt einen Wert von 11 zurück, d. h. die Startposition des gefundenen Ausdrucks. Beachten Sie das Attribut %code% , das angibt, wie viele Zeichen gefunden wurden.
Sie können dies mit %code% :
extrahieren %Vor%Und dann %code% verwenden, um die Zeichen zu extrahieren:
%Vor%Hier ist ein etwas anderer Weg, mit Lookbehind / Ahead:
%Vor%Der Unterschied zu Andries Antwort ist, dass dies auch funktioniert, um mehrere Zeichenfolgen in Klammern zu extrahieren. z.B.:
%Vor%Gibt:
%Vor%Ich habe eine Zeichenfolge
df
%Vor%Ich mag zum Beispiel Zeichen zwischen der Parentesie zu erfassen. Ich möchte ID-1290 aus dem obigen Beispiel erhalten.
Ich habe das benutzt:
%Vor%Das gibt mir Zahlen wie
%Vor%Gibt es eine einfache Möglichkeit, Text zwischen Parentese mit Regex in R zu greifen?
Ich bevorzuge gsub()
dafür:
Die Regex funktioniert so:
(.*)
\1
Mit anderen Worten: Ersetzen Sie den gesamten Text in der Zeichenfolge durch die Zurück-Referenz
Wenn Sie regexp
anstatt gsub
verwenden möchten, tun Sie Folgendes:
Dies gibt einen Wert von 11 zurück, d. h. die Startposition des gefundenen Ausdrucks. Beachten Sie das Attribut match.length
, das angibt, wie viele Zeichen gefunden wurden.
Sie können dies mit attr
:
Und dann substring
verwenden, um die Zeichen zu extrahieren:
Hier ist ein etwas anderer Weg, mit Lookbehind / Ahead:
%Vor%Der Unterschied zu Andries Antwort ist, dass dies auch funktioniert, um mehrere Zeichenfolgen in Klammern zu extrahieren. z.B.:
%Vor%Gibt:
%Vor%