2015-07-09 16 views
10

Tôi cần quyết định loại tệp từ tên tệp mà tôi nhận được bằng chuỗi. Vì vậy, tôi quyết định nhận được ba ký tự cuối cùng của chuỗi để quyết định loại tệp đó là gì. Làm thế nào để có được ba ký tự cuối cùng trong một String. Ví dụ:Xác định loại chuỗi đường dẫn trong Swift

var fileName = "test.pdf" 

Tôi cần phải tự mình lấy pdf. Có cách nào khác tốt hơn để kiểm tra loại tệp khác không. Xin vui lòng đề nghị tôi rằng cũng có. Bởi vì tôi nghĩ rằng, tôi đã có thể nhận ra nếu loại tệp có bốn ký tự như "jpeg" và các nội dung khác. Cảm ơn trước.

Trả lời

6
let filename: String = "test.pdf" 
let pathExtention = filename.pathExtension 
10

Tôi nghĩ rằng bạn đang tìm kiếm:

Phần mở rộng con đường, nếu có, của chuỗi như hiểu như là một con đường. (Read-only) Tuyên bố

Swift

var pathExtension: String { get } 

Thảo luận

Phần mở rộng con đường là một phần của phần đường cuối cùng mà sau giai đoạn cuối cùng, nếu có. Bộ chia tiện ích mở rộng không được bao gồm. Bảng dưới đây minh họa ảnh hưởng của pathExtension trên một loạt các con đường khác nhau:

Receiver của String Value

Chuỗi Returned

“/tmp/scratch.tiff” “tiff”

Ví dụ:

file.pathExtension 

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/instm/NSString/pathExtension

+1

Cảm ơn bạn đã nhắc đến việc chấm được bao gồm. Các tài liệu tiêu chuẩn không bận tâm đề cập đến nó. – chowey

5

Kể từ Swift 2.x, pathExtension không còn khả dụng cho lớp String.

Bạn thay vì có thể đúc để NSString và làm:

let filename = "test.pdf" 
let extension = (filename as NSString).pathExtension 
Các vấn đề liên quan