Czy AS3 ma wbudowaną klasę/funkcję, aby wyodrębnić "nazwę pliku" z kompletnej ścieżki. na przykład Życzę, aby wyodrębnić "filename.doc" z pełną ścieżkę "C: \ Documents and Settings \ All Users \ Pulpit \ filename.doc"Wyodrębnianie "pliku" z pełnej ścieżki w actionscript 3
Odpowiedz
Nie można po prostu zrobić coś podstawowego jak:
string filename = filename.substring(filename.lastIndexOf("\\") + 1)
Wiem, że to nie jest jedno wywołanie funkcji, ale powinno działać tak samo.
Edytowane w oparciu o komentarz @Bryan Grezeszak.
Najwyraźniej można użyć klasy File, a dokładniej, statycznego elementu File.separator, jeśli pracujesz ze środowiskiem AIR. Powinien zwrócić "/" lub "\", który możesz dołączyć do sugestii @ cmptrgeekken.
Pierwszy chcesz znaleźć ostatnie wystąpienie/lub \ w ścieżce, zrób to za pomocą tego:
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;
To daje indeks w ciąg, który jest tuż przed tym ostatnim ukośnik. Tak więc zwrócić część napisu po tym, dodać jeden do indeksu (Moving piłkę do ostatniego ukośnik) i zwrot pozostałej części łańcucha
var docName: String = fullPath.substr(slashIndex + 1);
Aby to zrobić, jak prosty w użyciu funkcji, to zrobić:
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);
Dzięki za kod. Mam jednak ciąg dynamiczny, który wygląda jak "D: \ temp \ abc.doc". getFileName ("D: \ temp \ abc.doc") zwraca "D: empabc.doc". –
Nie, nie robisz :) Backslashes działają jako ucieczki, gdy tworzysz ciąg, dlatego \ n tworzy nową linię, \ t tworzy zakładkę itp. Twój ciąg "D: \ temp \ abc.doc" faktycznie się kończy jako "D: {tab} emp {symbol} bc.doc, nie utworzyłeś łańcucha zawierającego ukośniki, chyba że uciekniesz przed ukośnikami, np. \\ –
dla powietrza, można spróbować użyć File Class wyodrębnić nazwy pliku
var file:File=new File("path_string");
//path_string example "C:\\Windows\\myfile.txt"
var filename:String = file.name;
Spróbuj:
var file_ :File = new File("C:/Usea_/Dtop/sinim (1).jpg"); // or url variable ... whatever//
file_ = file_.parent;
trace(file_.url);
Można użyć coś takiego wykonać zadanie:
var tmpArray:Array<String>;
var fileName:String;
tmpArray = fullFilePath.split("\");
fileName = tmpArray.pop();
Trzeba zadbać, jeśli używasz systemu plików UNIX („/”) lub systemu plików Windows („\”).
- 1. budowanie pełnej nazwy pliku ścieżki w pythonie,
- 2. Używanie sed do pobrania nazwy pliku z pełnej ścieżki?
- 3. Jak uzyskać nazwę pliku z pełnej ścieżki za pomocą PHP?
- 4. Pobierz nazwę pliku bez rozszerzenia z pełnej ścieżki
- 5. Trygonometria trójkąta (ActionScript 3)
- 6. Wyodrębnianie nazwy pliku i ścieżki z uruchomionego procesu
- 7. actionscript 3 i JSON
- 8. Actionscript 3 REPL
- 9. Debugowanie Haxe (ActionScript 3)
- 10. Wiele dziedziczenia w ActionScript 3
- 11. RESTEasy - @Path wymaga pełnej ścieżki?
- 12. Lua Wymagaj funkcji pełnej nazwy ścieżki
- 13. Python nie może uzyskać pełnej nazwy ścieżki pliku
- 14. ActionScript 3: Płynna animacja programistyczna
- 15. Pobierz rozmiar skryptu ActionScript 3
- 16. Wyodrębnianie nazw plików ze ścieżki MYSQL
- 17. Sortowanie tablicy obiektów w ActionScript 3
- 18. Osadzanie mp3 w actionscript 3 nie działa
- 19. Actionscript 3: pobierz obiekt wyświetlany w pikselach
- 20. Narysuj tekst na kształt w ActionScript 3
- 21. Jak usunąć/gc obiekt w Actionscript 3?
- 22. Składnia statycznego konstruktora w Actionscript-3?
- 23. Literał łańcuchowy wielu liter w Actionscript 3
- 24. Ustawienie argumentu funkcji w ActionScript 3
- 25. ActionScript 3 Specyfikacja jako plik PDF?
- 26. Jak zip folder bez pełnej ścieżki
- 27. Uzyskiwanie ścieżki pliku z uchwytu pliku w systemie Windows
- 28. Uzyskiwanie pełnej ścieżki do usługi systemu Windows
- 29. CUpewnij jest łączenie againts biblioteki pełnej ścieżki
- 30. Potrzebuję pełnej ścieżki od wewnątrz aplikacji szyny
Ciąg znaków fullpath jest pobierany dynamicznie po wybraniu pliku przez użytkownika i wygląda tak: "c: \ temp \ abc.doc" lastIndexOf ("\\") nie działa powyżej. –
dlaczego nie? lastIndexOf ("\\") oznacza znalezienie ostatniego "\" i powiedz mi jego indeks w ciągu znaków. – meandmycode
Jesteś na dobrej drodze, ale musisz dodać do indeksu, aby usunąć rzeczywisty ukośnik z finału wynik :) –