2016-11-24 2 views
0

Ich habe eine große Menge von Daten, die ich mit öffnen muss verfeinern. Ich bin ziemlich schlecht mit Regex und ich kann nicht einen Weg, um zu bekommen, was ich will, , die eine Textzeichenfolge zwischen Anführungszeichen extrahiert, die viele Sonderzeichen wie "'/ \ # @ - In jeder Zelle enthält, es hat das gleiche FormatExtrahieren Sie eine Textzeichenfolge mit Regex

caption ': u'text ich möchte extrahieren', u'likes':

Jede Hilfe sehr geschätzt würde

+0

Was ist Ihr erwartetes Ergebnis? –

+0

wollte nur die Ausgabe: 'Text, den ich extrahieren möchte ' Ibrahim löste es, danke, dass Sie sich die Zeit genommen haben, mir zu antworten! – Gauthier

Antwort

0

Wenn Sie extrahieren möchten Textzeichenfolge, die viele Sonderzeichen dazwischen enthält und zwischen Anführungszeichen steht ' ', Sie können es in der Regel so:

\'[\S\s]*?\' 

Demo

.

In Ihrem Fall, wenn Sie nur das mediale Zitat aus diesen extrahieren mögen: caption': u'text I want to extract', u'likes':, Versuchen Sie, diese Regex:

(?<=u\')[\V]*?(?=\'\,) 

Demo

+0

Vielen Dank, es funktioniert wunderbar! – Gauthier

+0

@Gauthier Gern geschehen. – Ibrahim

0

Wir entwarfen OpenRefine mit einigen intelligenten Funktionen gemeinsame Fälle behandeln wie Ihre ohne Regex zu verwenden.

Zwei weitere coole Möglichkeiten, dies in OpenRefine zu behandeln.

  1. Mit Drop-Down-Menü:
    • Spalte bearbeiten
    • Split in mehrere Spalten
      • durch Separator Separator

  2. Verwendung smartSplit (string s, optionale Zeichenkette Sep)

    kehrt: array

    Gibt das Array von Zeichenketten durch Aufspalten s mit Sichter September erhalten. Griffe Zitate richtig. Vermutungen Tab oder Komma Trennzeichen, wenn "Sep" nicht gegeben ist.

    value.smartSplit("'")[2]

Verwandte Themen