Hat AS3 eine integrierte Klasse/Funktion, um "Dateiname" aus einem vollständigen Pfad zu extrahieren. z.B. Ich wünsche "filename.doc" von vollständigen Pfad zu extrahieren "C: \ Dokumente und Einstellungen \ All Users \ Desktop \ filename.doc"Extrahieren von "Dateiname" aus dem vollständigen Pfad in ActionScript 3
Antwort
Sie konnte nicht nur das tun, grundlegende so etwas wie:
string filename = filename.substring(filename.lastIndexOf("\\") + 1)
Ich weiß, es ist kein einziger Funktionsaufruf, aber es sollte genauso funktionieren.
Bearbeitet basierend auf @Bryan Grezeszaks Kommentar.
Anscheinend können Sie die File Klasse oder genauer das statische Mitglied File.separator verwenden, wenn Sie mit AIR arbeiten. Es sollte "/" oder "\" zurückgeben, die Sie an @cmptrgeekkens Vorschlag anschließen können.
Zuerst das letzte Vorkommen/oder \ im Weg finden wollen, tun dies mit:
var fSlash: int = fullPath.lastIndexOf("/");
var bSlash: int = fullPath.lastIndexOf("\\"); // reason for the double slash is just to escape the slash so it doesn't escape the quote!!!
var slashIndex: int = fSlash > bSlash ? fSlash : bSlash;
die Sie in der Zeichenfolge, die den Index geben, die direkt vor ist, dass letzten Schrägstrich. Also dann nach, dass der Teil der Zeichenfolge zurück, fügen Sie ein zum Index (es nach dem letzten Schrägstrich bewegt) und gibt den Rest der Zeichenfolge
var docName: String = fullPath.substr(slashIndex + 1);
Um dies zu tun, als eine einfache Funktion zu nutzen, dies tun:
function getFileName(fullPath: String) : String
{
var fSlash: int = fullPath.lastIndexOf("/");
var bSlash: int = fullPath.lastIndexOf("\\"); // reason for the double slash is just to escape the slash so it doesn't escape the quote!!!
var slashIndex: int = fSlash > bSlash ? fSlash : bSlash;
return fullPath.substr(slashIndex + 1);
}
var fName: String = getFileName(myFullPath);
Danke für den Code. Ich habe jedoch eine dynamische Pfadzeichenfolge, die wie "D: \ temp \ abc.doc" aussieht. getFileName ("D: \ temp \ abc.doc") gibt "D: empabc.doc" zurück. –
Nein, Sie nicht :) Backslashes fungieren als Escapes, wenn Sie eine Zeichenfolge machen, deshalb \ n macht eine neue Zeile, \ t macht eine Registerkarte, etc. Ihre Zeichenfolge von 'D: \ temp \ abc.doc' endet tatsächlich oben als 'D: {tab} emp {symbol} bc.doc, hast du nicht wirklich eine Zeichenkette gemacht, die irgendwelche Schrägstriche enthält, außer du entziehst die Schrägstriche, wie \\ –
für Luft, können Sie versuchen, File Klasse mit Dateinamen
var file:File=new File("path_string");
//path_string example "C:\\Windows\\myfile.txt"
var filename:String = file.name;
versuchen Sie, diese zu extrahieren:
var file_ :File = new File("C:/Usea_/Dtop/sinim (1).jpg"); // or url variable ... whatever//
file_ = file_.parent;
trace(file_.url);
Sie können so etwas wie diese verwenden, um die Arbeit zu erledigen:
var tmpArray:Array<String>;
var fileName:String;
tmpArray = fullFilePath.split("\");
fileName = tmpArray.pop();
Sie haben dafür Sorge zu tragen, wenn Sie Unix-Dateisystem verwenden („/“) oder Windows-Dateisystem („\“).
- 1. Pars Dateiname und Pfad aus dem vollständigen Pfad
- 2. Dateiname und Pfad aus einem laufenden Prozess extrahieren
- 3. Entfernen Sie den vollständigen Pfad mit Actionscript
- 4. Batch Pfad und Dateiname aus einer Variablen extrahieren
- 5. Einen Pfad in Actionscript 3 analysieren?
- 6. Dateiname aus Zeichenfolge-Pfad abrufen?
- 7. Extrahieren von Dateiname aus einem Foreach eines OpenFileDialog in C#
- 8. Dateinamen aus dem vollständigen Dateipfad suchen
- 9. Pfad von Dateiname entfernen
- 10. Actionscript 3: Problem, das "\\" Zeichen in vollem Dateipfad löscht
- 11. Erhalten Dateinamen nur aus vollständigen Pfad
- 12. ActionScript: Frames aus Video/NetStream extrahieren/ändern
- 13. Extrahieren von Dateinamen aus einem Pfad MYSQL
- 14. Separater Dateiname von Pfad glob()
- 15. Entsprechung in ActionScript 3
- 16. Actionscript 3 Importpaket. * Vs Importpaket.Klasse
- 17. Gibt es C-APIs, um den Basisdateinamen aus seinem vollständigen Pfad in Linux zu extrahieren?
- 18. Objective-C: Dateinamen aus dem Pfad extrahieren String
- 19. Pfad/Dateiname Backslash in C#
- 20. Erhalte den vollständigen Pfad ohne Dateinamen aus dem Pfad, der den Dateinamen enthält
- 21. Infinity in ActionScript 3
- 22. Eclipse und Actionscript 3
- 23. Debuggen von Haxe (ActionScript 3)
- 24. Trx-Datei vollständigen Pfad Test
- 25. Wie kann ich einen vollständigen Pfad aus der Umgebungsvariablen PATH extrahieren?
- 26. <input type = 'file'> für IE gibt den vollständigen Pfad, muss nur Dateiname
- 27. Rendering in ActionScript 3 optimieren
- 28. ActionScript 3 - gotoAndStop in movieclip
- 29. Erhalte Dateiname und Erweiterung von einem absoluten Pfad
- 30. ActionScript 3 dynamisch Ruftasten
Die vollständige Pfadzeichenfolge wird dynamisch aufgenommen, wenn der Benutzer eine Datei auswählt und wie folgt aussieht: "c: \ temp \ abc.doc" lastIndexOf ("\\") funktioniert nicht wie oben beschrieben. –
warum nicht? lastIndexOf ("\\") bedeutet, dass Sie das letzte "\" finden und seinen Index in der Zeichenfolge angeben. – meandmycode
Sie befinden sich auf dem richtigen Pfad, aber Sie müssen einen Index hinzufügen, um den tatsächlichen Schrägstrich aus dem Finale zu entfernen Ergebnis :) –