2017-06-22 3 views
0

Wie entferne ich die Mitte einer Zeichenfolge mit Regex. Ich habe die folgende URL: https://www.sec.gov/Archives/edgar/data/1347185/000134718517000016/0001347185-17-000016-index.htm/exh1025730032017.xmlREGEX: Entfernen Sie die Mitte der Zeichenfolge nach einer bestimmten Anzahl von "/"

aber ich will es so aussehen:

https://www.sec.gov/Archives/edgar/data/1347185/000134718517000016/exh1025730032017.xml

Ich kann nach dem „Daten /../../“ alles loswerden Der letzten lange Reihe von Zahlen ist nicht erforderlich

ich versucht, dieses

sub(sprintf("^((?:[^/]*;){8}).*"),"", URLxml) 

Aber es tut nichts tun! Hilfe bitte!

+0

Wie definieren Sie die Mitte der URL? – Sotos

+1

Wenn dies nur ein Beispiel für viele URLs ist, mit denen Sie arbeiten müssen, sind weitere Informationen darüber erforderlich, welche Änderungen sich in den einzelnen Beispielen ergeben und welche dieselben bleiben. –

+0

Nun ja, nichts ändert sich eh? Wird jedes Mal das gleiche sein, Pfadtiefe, http? Basierend auf dem, was Sie sagen, gibt es nicht genügend Informationen zu beantworten. Oh, aber es gibt 1 Antwort, die ich sehe ... – sln

Antwort

1

Um die letzte zu entfernen, aber ein subpart des Weges, können Sie

x <- "https://www.sec.gov/Archives/edgar/data/1347185/000134718517000016/0001347185-17-000016-index.htm/exh1025730032017.xml" 
sub("^(.*/).*/(.*)", "\\1\\2", x) 
## [1] "https://www.sec.gov/Archives/edgar/data/1347185/000134718517000016/exh1025730032017.xml" 

die online R demo nachschauen und hier ist ein regex demo.

Einzelheiten:

  • ^ - Anfang einer Zeichenfolge
  • (.*/) - Gruppe 1 (bezeichnet mit \1 aus dem Ersatz-String), um alle 0+ Zeichen bis zum vorletzten /
  • .*/ - beliebig 0+ Zeichen bis zum letzten /
  • (.*) - Gr oup 2 (bezogen mit \2 Rückverweis von der Ersatzzeichenfolge) alle 0 + Zeichen bis zum Ende.
0
a<-'https://www.sec.gov/Archives/edgar/data/1347185/000134718517000016/0001347185-17-000016-index.htm/exh1025730032017.xml' 

gsub('data/(.+?)/(.+?)/(.+?)/','data/\\1/\\2/',a) 

so in der URL:

Daten /.../.../ .. (diese entfernt wird) ../ ....

Verwandte Themen