2017-06-15 3 views
0

ich vonWie abrufen nur Dateinamen ohne gierig Erweiterung

markets-map.es6.js 
filename.abc.es6.js 
filename.ab.def.es6.js 
abc.js 
defghi.es6.js 
location-map.js 
demographics-map.es7.js 
demographics-map.tar.bz 
demographics-map.tar.zip 
demographics-map.tar.ball 

folgenden erhalten mag: markets-map, filename.abc, filename.ab.def, filename.abc, abc, defghi, location-map, demographics-map, demographics-map mit Regex. Kannst du helfen?

+0

Was sind die Regeln? – revo

+0

Suchst du, alles bis zum ersten Punkt? Das sieht nicht immer so aus. Oder bestimmte Erweiterungen ausziehen? Brauchen Sie ein wenig mehr Klarheit darüber, was genau Sie möchten, dass die Ausgabe auf Regeln basiert. – sniperd

+0

Die Ausgabe ist in den letzten Zeilen meiner Frage angegeben. Holen Sie sich den ersten Teil mit Punkt wie .abc, .ab (benutzerdefinierte Zeichenfolge für den Dateinamen), aber nicht die Erweiterungen wie .tar, .es6, .es7, und natürlich NEIN für .js, .bz,. zip, .ball. YCF_L konnte es richtig machen. –

Antwort

2

Ihr spezifisches Problem ist, so dass Sie eine Möglichkeit haben, es zu lösen, ist es von Fall zu Fall lösen hier ein regulärer Ausdruck ist, können Sie verwenden:

(.*?)(((\.es\d+)?\.js)|(\.tar\.(bz|zip|ball))) 

So können Sie nehmen nur die erste Gruppe ist hier regex Demo:

demo regex


Input       Output 

markets-map.es6.js  -> markets-map 
filename.abc.es6.js  -> filename.abc 
filename.ab.def.es6.js -> filename.ab.def 
abc.js     -> abc 
defghi.es6.js    -> defghi 
location-map.js   -> location-map 
demographics-map.es7.js -> demographics-map 
demographics-map.tar.bz -> demographics-map 
demographics-map.tar.zip -> demographics-map 
demographics-map.tar.ball -> demographics-map 
+0

Das funktioniert. Vielen Dank. –

+0

Sie sind willkommen @PristineKallio :) –

Verwandte Themen