2015-09-29 9 views
38

मुझे स्ट्रिंग के अंतिम 4 अक्षरों को अलग करने की आवश्यकता है। मैं इसे कैसे अलग कर सकता हूं? स्ट्रिंग की लंबाई बदल रही है।स्ट्रिंग के अंतिम 4 वर्ण कैसे प्राप्त करें?

पूर्व:

var a = "StackOverFlow" 
var last4 = a.lastFour //That's what I want to do 
print(last4) //prints Flow 
+0

सबस्ट्रिंग फ़ंक्शन .. –

+0

@EricAya और अन्य closers: यह लिंक किए गए प्रश्न का डुप्लिकेट नहीं है। विधि कॉल श्रृंखलाओं में '[1,2,3] .map ({" Int (\ ($ 0)) "}) शामिल हैं। (विभाजक:", ") .last (x)', 'substringWithRange' और दोस्तों हैं निकम्मा। – Raphael

+0

विधि समाधानों में काम करने वाले समाधान के लिए [यहां] (http://stackoverflow.com/q/43277938/539599) देखें, यानी स्ट्रिंग के बाहरी संदर्भ के बिना। (यहां टिप्पणी कर रहा है क्योंकि यह शीर्ष Google परिणाम है।) – Raphael

उत्तर

117

एक समाधान substringFromIndex

let a = "StackOverFlow" 
let last4 = a.substringFromIndex(a.endIndex.advancedBy(-4)) 

या suffix पर characters

let last4 = String(a.characters.suffix(4)) 

कोड है स्विफ्ट है 2


स्विफ्ट 3:

स्विफ्ट 3 पहले समाधान के लिए वाक्य रचना में

को बदल दिया गया है
let last4 = a.substring(from:a.index(a.endIndex, offsetBy: -4)) 

स्विफ्ट 4:

स्विफ्ट 4 में यह हो जाता है अधिक सुविधाजनक:

let last4 = a.suffix(4) 

परिणाम का प्रकार एक नया प्रकार Substring है जो कई मामलों में String के रूप में व्यवहार करता है। हालांकि अगर सबस्ट्रिंग को उस क्षेत्र को छोड़ना है जहां इसे बनाया गया है तो आपको नया String उदाहरण बनाना होगा।

let last4 = String(a.suffix(4)) 
+0

आप दा मा, सभी स्विफ्ट तारों पर! – MikeG

+1

पर आपके बिना स्ट्रिंग प्रश्न नहीं मिल रहा है, इस बात से अवगत रहें कि स्ट्रिंग 4 वर्णों से कम – codeinthesky

+0

दुर्भाग्यवश है, यह एक श्रृंखला में बेकार है जैसे '[1,2,3] .map ({" Int (\ ($ 0)) "})। शामिल हो गए (विभाजक:", ") .last (x)' - हमारे पास ऐसी स्थितियों में स्ट्रिंग पर एक संभाल नहीं है! – Raphael

12
String substr = a.substring(a.length() - 4) 

वाक्य रचना गलत है। स्विफ्ट में वर्र्स से पहले कोई प्रकार नहीं। स्विफ्ट 3.0 पर

let a = "1234567890" 
let last4 = String(a.characters.suffix(4)) 
print(last4) 

काम करता है

+0

a.substring (a.length() - 4) निर्माण में विशेष वाक्यविन्यास परिणाम विफल हो जाते हैं। समाधान: स्ट्रिंग (ए .characters.suffix (4)) –

संबंधित मुद्दे