AS3 dispose-t-il d'une classe/fonction intégrée pour extraire "nomfichier" d'un chemin complet? par exemple. Je souhaite extraire "nomfich.doc" de chemin complet "C: \ Documents and Settings \ All Users \ Desktop \ nomfich.doc"Extraction de "nomfichier" du chemin d'accès complet dans actionscript 3
Répondre
ne pourriez-vous faire quelque chose comme base:
string filename = filename.substring(filename.lastIndexOf("\\") + 1)
Je sais que ce n'est pas un appel de fonction unique, mais cela devrait fonctionner de la même manière.
Édité sur la base du commentaire de @Brian Grezeszak.
Apparemment, vous pouvez utiliser la classe File, ou plus précisément, le membre statique File.separator si vous utilisez AIR. Il devrait retourner "/" ou "\", que vous pouvez ajouter à la suggestion de @ cmptrgeekken.
D'abord, vous voulez trouver la dernière occurrence de/ou \ dans le chemin, faire en utilisant ceci:
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;
Cela vous donnera l'index dans la chaîne qui est juste avant la dernière barre oblique. Alors pour revenir la partie de la chaîne après cela, vous ajoutez un à l'index (déplacer passé la dernière barre oblique) et renvoyer le reste de la chaîne
var docName: String = fullPath.substr(slashIndex + 1);
Pour ce faire, en fonction simple à utiliser, faire:
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);
Merci pour le code. Cependant j'ai une chaîne de chemin dynamique qui ressemble à "D: \ temp \ abc.doc". getFileName ("D: \ temp \ abc.doc") renvoie "D: empabc.doc". –
Non, vous ne le faites pas :) Les barres obliques inversées agissent comme des échappements lorsque vous créez une chaîne, c'est pourquoi \ n crée une nouvelle ligne, \ t crée une tabulation, etc. Votre chaîne de 'D: \ temp \ abc.doc' se termine en tant que 'D: {tab} emp {symbole} bc.doc, vous n'avez pas réellement fait une chaîne qui contient des barres obliques à moins que vous n'échappiez aux barres obliques, comme \\ –
pour Air, vous pouvez essayer d'utiliser File classe pour extraire le nom du fichier
var file:File=new File("path_string");
//path_string example "C:\\Windows\\myfile.txt"
var filename:String = file.name;
Essayez ceci:
var file_ :File = new File("C:/Usea_/Dtop/sinim (1).jpg"); // or url variable ... whatever//
file_ = file_.parent;
trace(file_.url);
Vous pouvez utiliser quelque chose comme ça pour faire le travail:
var tmpArray:Array<String>;
var fileName:String;
tmpArray = fullFilePath.split("\");
fileName = tmpArray.pop();
Vous devez prendre soin si vous utilisez le système de fichiers Unix («/») ou d'un système de fichiers Windows (le « \ »).
- 1. jquery ajax & chemin du serveur complet
- 2. précharge FLV dans Actionscript 3?
- 3. URL relatives dans Actionscript 3
- 4. Zones de défilement dans ActionScript 3 Visualisation
- 5. i besoin le chemin complet du noeud dom de l'élément
- 6. Littéral de chaînes multiples dans Actionscript 3
- 7. Fish Interactive Shell chemin complet
- 8. Comment appliquer une distorsion du son dans actionscript-3?
- 9. arsort avec Actionscript 3
- 10. ActionScript 3 Étiquettes Gras
- 11. Profilage ActionScript-3 Code
- 12. ActionScript 3 Implémentation d'AsyncToken
- 13. Flash Whiteboard: Actionscript 3
- 14. Obtention du chemin d'accès complet pour le service Windows
- 15. effcient Envoi d'événements dans Actionscript 3
- 16. Comment trouver le chemin complet du fichier Outlook .pst?
- 17. Comment obtenir une partie du chemin complet en C#?
- 18. ActionScript 3 boutons d'appel dynamique
- 19. Actionscript 3 et masques dynamiques
- 20. JSObject-like stuff dans ActionScript 3?
- 21. Passer des variables ByRef dans Actionscript 3
- 22. affichage HTML dans un Actionscript 3 projet
- 23. Animer un rectangle rond dans ActionScript 3
- 24. Boucler les enfants dans actionscript-3
- 25. Actionscript 3 Lier les variables
- 26. ActionScript 3 chargeurs d'image refactoring
- 27. Actionscript 3 introspection - noms de fonctions
- 28. Entrée de clavier en utilisant ActionScript 3
- 29. ActionScript 3 Spécification en PDF?
- 30. ActionScript 3 Programmation orientée aspect
La chaîne fullpath est dynamiquement sélectionnée lorsque l'utilisateur sélectionne un fichier et ressemble à "c: \ temp \ abc.doc" lastIndexOf ("\\") ne fonctionne pas pour plus haut. –
pourquoi pas? lastIndexOf ("\\") signifie trouver le dernier '\' et me dire son index dans la chaîne .. – meandmycode
Vous êtes sur le bon chemin, mais vous devez en ajouter un à l'index pour supprimer la barre oblique de la finale resultat :) –