2016-12-09 6 views
1

Ich möchte den Text zwischen "Part Description:" und "- Installs" mit R extrahieren; Ebenso müssen andere Texte extrahiert werden - da der Text fortlaufend nicht extrahiert werden kann.R Sprache - Zeichenkette zwischen zwei Trennzeichen extrahieren

Beispieltext:

Unterstützung Queue: WW_SC GD OB V5; V5 Geschäft:; Local Wochenende: True; Lokaler Feiertag: Falsch; *** HINWEIS: Dies ist ein PARTNER-Gerät. Bitte befolgen Sie den speziellen Partnerprozess anstelle der Standard-Support-Kette. Support-ID: 469 ******************************** ** Ereignis- und Ereignisanhänge ** ***** **************************** Vorfallnummer: 34c-48a6 OS Version: Windows Server, 2003 Ereigniszeit: 2015-07-10T00 : 29.7110Z Teilenummer: xxxxxx-001, Teil Beschreibung: 1000 Watt AC-Hot-Plug-Netzteil - Installiert in das Computergehäuse als primäre oder redundante Versorgung (800 Watt bei 100VAC bis 1000 Watt bei 200VAC maximale Leistung) - Benötigt 100-240VAC bei 50/60Hz, RoHS Ja, CSR Ein Fehlertyp: HW Keine Anhänge. Empfohlene Maßnahme: Die Stromversorgung in Schacht 2 ist ausgefallen und sollte durch die Ersatzteilnummer xxxxxx-001 ersetzt werden.

+0

etwas wie 'if (grepl (" Teil Beschreibung: ", behoben = TRUE)) myStuff <- gsub (". * Teil Beschreibung: (. *) - Installiert. * "," \\ 1 ")'. – lmo

Antwort

4

Sie können folgendes tun:

sub(".*Part Description:(.*)Installs.*", "\\1", txt) 

Das ersetzt die gesamte Zeichenfolge durch den Teil zwischen Part Description: und Installs. Daraus ergibt sich: " 1000 watt AC hot-plug power supply - "

Oder mit stringr Sie tun können:

require(stringr) 
str_sub(str_extract(txt, "Part Description:.*Installs"), 18, -9) 

Welche Sie das gleiche Ergebnis gibt.

+0

Die zweite Funktion funktioniert einwandfrei, mit der ersten Funktion bekomme ich nicht das genaue Ergebnis - zusammen mit dem Ergebnis gibt es auch den restlichen Text. Dies wird mit einer großen Menge an Daten versucht, nicht mit der Probe, die ich oben erwähnt habe. Was bedeutet "\\ 1"? Und, wenn es viele Sternchen (*) kurz vor "Installs" gibt, wie im obigen Beispiel erwähnt, wie man sie mit der ersten Funktion entfernt – SAF

Verwandte Themen