स्विफ्ट 2, join
joinWithSeparator
बन गया है और आप इसे सरणी पर कॉल करते हैं।
filter
में, isEmpty
वर्तमान पुनरावृत्ति आइटम $0
पर कॉल किया जाना चाहिए।
अपने प्रश्न में के रूप में व्हाइटस्पेस और अद्वितीय रिक्ति के साथ न्यू लाइन वर्ण बदलने के लिए:
extension String {
var condensedWhitespace: String {
let components = self.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
return components.filter { !$0.isEmpty }.joinWithSeparator(" ")
}
}
let result = "Hello World.\nHello!".condensedWhitespace // "Hello World. Hello!"
: अपने कार्य किसी भी पैरामीटर नहीं ले करता है
extension String {
func condenseWhitespace() -> String {
let components = self.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
return components.filter { !$0.isEmpty }.joinWithSeparator(" ")
}
}
let result = "Hello World.\nHello!".condenseWhitespace() // "Hello World. Hello!"
क्योंकि आप इसके बजाय एक संपत्ति कर सकता है
स्विफ्ट 3 में और भी बदलाव हैं।
फंक्शन:
extension String {
func condenseWhitespace() -> String {
let components = self.components(separatedBy: NSCharacterSet.whitespacesAndNewlines)
return components.filter { !$0.isEmpty }.joined(separator: " ")
}
}
let result = "Hello World.\nHello!".condenseWhitespace()
संपत्ति:
extension String {
var condensedWhitespace: String {
let components = self.components(separatedBy: NSCharacterSet.whitespacesAndNewlines)
return components.filter { !$0.isEmpty }.joined(separator: " ")
}
}
let result = "Hello World.\nHello!".condensedWhitespace
काम करता है :) धन्यवाद –