2016-05-13 9 views
1

mit Extrahierung habe ich einen Stringeinen String-Format lua

(A file location) = "C:\User\Projects\54a2135.tif" 

mehrere TIFF-Dateien in der Lage sind, und ich werde sie holen müssen und sie in einen anderen Ordner zu verschieben.

Mein Problem besteht darin, nur die .tif Datei zu bekommen. Ich versuchte string.match, string.gsub, string.find, aber nicht in der Lage, das zu erreichen. Gibt es einen Hinweis darauf, wie ich nur die .tif Datei (in diesem Fall 54a2135.tif) aus dieser Zeichenfolge extrahiere?

Antwort

2

Am Anfang ist \ das Escape-Zeichen, daher sollte es in doppelten/einfachen Strings entkoppelt werden. (Die andere Option ist die lange Zeichenfolge verwenden [[...]])

Dann können Sie Pattern-Matching verwenden:

local path = "C:\\User\\Projects\\54a2135.tif" 
print(path:match("[^\\]*$")) 

Das Muster [^\\]*$ Matches alle Nicht-Backslash-Zeichen am Ende der Zeichenfolge.

Wenn Sie es eine .tif Datei angeben mögen, um das Muster zu [^\\]*%.tif$

+0

Vielen Dank Yu Hao ändern. Es hat wie ein Zauber funktioniert. Ich schätze Ihre Hilfe. Vielen Dank, vielen Dank ... –