जवाबों:
यहां बताया गया है कि आप शुरुआत से लेकर अंत तक सभी व्हाट्सएप को कैसे हटाते हैं String
।
(उदाहरण स्विफ्ट 2.0 के साथ परीक्षण किया गया ।)
let myString = " \t\t Let's trim all the whitespace \n \t \n "
let trimmedString = myString.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet()
)
// Returns "Let's trim all the whitespace"
(उदाहरण स्विफ्ट 3+ के साथ परीक्षण किया गया ।)
let myString = " \t\t Let's trim all the whitespace \n \t \n "
let trimmedString = myString.trimmingCharacters(in: .whitespacesAndNewlines)
// Returns "Let's trim all the whitespace"
उम्मीद है की यह मदद करेगा।
इस कोड को अपनी परियोजना की फ़ाइल में रखें, कुछ Utils.swift पसंद करता है:
extension String
{
func trim() -> String
{
return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
}
}
तो आप ऐसा कर पाएंगे:
let result = " abc ".trim()
// result == "abc"
स्विफ्ट 3.0 समाधान
extension String
{
func trim() -> String
{
return self.trimmingCharacters(in: NSCharacterSet.whitespaces)
}
}
तो आप ऐसा कर पाएंगे:
let result = " Hello World ".trim()
// result = "HelloWorld"
String
?
स्विफ्ट 3.0 में
extension String
{
func trim() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespaces)
}
}
और आप कॉल कर सकते हैं
let result = " Hello World ".trim() /* result = "Hello World" */
let result = " abc ".trimmingCharacters(in: .whitespacesAndNewlines)
हाँ इसके पास है, आप इसे इस तरह से कर सकते हैं:
var str = " this is the answer "
str = str.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
print(srt) // "this is the answer"
कैरेक्टरसेट वास्तव में एक पूर्व निर्धारित सेट की तुलना में बहुत अधिक लचीलेपन के साथ एक ट्रिम नियम बनाने के लिए वास्तव में एक शक्तिशाली उपकरण है।
उदाहरण के लिए:
var str = " Hello World !"
let cs = CharacterSet.init(charactersIn: " !")
str = str.trimmingCharacters(in: cs)
print(str) // "Hello World"
विशिष्ट लंबाई तक ट्रंकट स्ट्रिंग
यदि आपने वाक्य / पाठ के ब्लॉक में प्रवेश किया है और आप इसमें से केवल निर्दिष्ट लंबाई बचाना चाहते हैं। निम्न एक्सटेंशन को क्लास में जोड़ें
extension String {
func trunc(_ length: Int) -> String {
if self.characters.count > length {
return self.substring(to: self.characters.index(self.startIndex, offsetBy: length))
} else {
return self
}
}
func trim() -> String{
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
}
उपयोग
var str = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
//str is length 74
print(str)
//O/P: Lorem Ipsum is simply dummy text of the printing and typesetting industry.
str = str.trunc(40)
print(str)
//O/P: Lorem Ipsum is simply dummy text of the
आप एक स्विफ्ट स्ट्रिंग एक्सटेंशन में ट्रिम () विधि का उपयोग कर सकते हैं जो मैंने https://bit.ly/JString लिखा था ।
var string = "hello "
var trimmed = string.trim()
println(trimmed)// "hello"
extension String {
/// EZSE: Trims white space and new line characters
public mutating func trim() {
self = self.trimmed()
}
/// EZSE: Trims white space and new line characters, returns a new string
public func trimmed() -> String {
return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
}
}
मेरे इस रेपो से लिया गया: https://github.com/goktugyil/EZSwiftExtensions/commit/609fce34a41f98733f97dfd7b4c23b5d5b416206
स्विफ्ट 3 एक्सकोड 8 फाइनल में
ध्यान दें कि CharacterSet.whitespaces
अब कोई फ़ंक्शन नहीं है!
(न ही है NSCharacterSet.whitespaces
)
extension String {
func trim() -> String {
return self.trimmingCharacters(in: CharacterSet.whitespaces)
}
}
// स्विफ्ट 4.0 रिक्त स्थान और नई लाइनें निकालें
extension String {
func trim() -> String {
return self.trimmingCharacters(in: .whitespacesAndNewlines)
}
}
आप उन पात्रों को भी भेज सकते हैं जिन्हें आप ट्रिम किया जाना चाहते हैं
extension String {
func trim() -> String {
return self.trimmingCharacters(in: .whitespacesAndNewlines)
}
func trim(characterSet:CharacterSet) -> String {
return self.trimmingCharacters(in: characterSet)
}
}
validationMessage = validationMessage.trim(characterSet: CharacterSet(charactersIn: ","))
मैंने यह फ़ंक्शन बनाया जो स्ट्रिंग में प्रवेश करने की अनुमति देता है और किसी भी वर्ण द्वारा छंटनी की स्ट्रिंग की सूची देता है
func Trim(input:String, character:Character)-> [String]
{
var collection:[String] = [String]()
var index = 0
var copy = input
let iterable = input
var trim = input.startIndex.advancedBy(index)
for i in iterable.characters
{
if (i == character)
{
trim = input.startIndex.advancedBy(index)
// apennding to the list
collection.append(copy.substringToIndex(trim))
//cut the input
index += 1
trim = input.startIndex.advancedBy(index)
copy = copy.substringFromIndex(trim)
index = 0
}
else
{
index += 1
}
}
collection.append(copy)
return collection
}
जैसा कि स्विफ्ट में ऐसा करने का तरीका नहीं मिला (संकलन और तेजी से 2.0 में पूरी तरह से काम करना)
के लिए मत भूलना import Foundation
या UIKit
।
import Foundation
let trimmedString = " aaa "".trimmingCharacters(in: .whitespaces)
print(trimmedString)
परिणाम:
"aaa"
अन्यथा आपको मिलेगा:
error: value of type 'String' has no member 'trimmingCharacters'
return self.trimmingCharacters(in: .whitespaces)