আমার প্রথম অক্ষরটি একটি স্ট্রিং থেকে সরানোর একটি উপায় প্রয়োজন যা স্থান is আমি স্ট্রিং টাইপের জন্য এমন কোনও পদ্ধতি বা এমনকি কোনও এক্সটেনশান খুঁজছি যা আমি স্ট্রিংয়ের একটি চরিত্র কাটাতে ব্যবহার করতে পারি।
আমার প্রথম অক্ষরটি একটি স্ট্রিং থেকে সরানোর একটি উপায় প্রয়োজন যা স্থান is আমি স্ট্রিং টাইপের জন্য এমন কোনও পদ্ধতি বা এমনকি কোনও এক্সটেনশান খুঁজছি যা আমি স্ট্রিংয়ের একটি চরিত্র কাটাতে ব্যবহার করতে পারি।
উত্তর:
শীর্ষস্থানীয় এবং চলমান শ্বেতস্পেসগুলি অপসারণ করতে:
let trimmedString = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
সুইফট 3 / সুইফট 4:
let trimmedString = string.trimmingCharacters(in: .whitespaces)
NSCharacterSet.whitespaceAndNewlineCharacterSet()
যদি নতুন লাইনের চরিত্রগুলিও ছাঁটাই করতে চান তবে আপনিও ব্যবহার করতে পারেন।
আপনি যখন সমস্ত ধরণের হোয়াইটস্পেসগুলি মুছতে চান তখন সঠিক উপায় ( এই উত্তরের উপর ভিত্তি করে ):
extension String {
var stringByRemovingWhitespaces: String {
let components = componentsSeparatedByCharactersInSet(.whitespaceCharacterSet())
return components.joinWithSeparator("")
}
}
extension String {
func removingWhitespaces() -> String {
return components(separatedBy: .whitespaces).joined()
}
}
এই উত্তরটি পোস্ট করা হয়েছিল যখন প্রশ্নটি সমস্ত সাদা স্থান সরিয়ে দেওয়ার বিষয়ে ছিল , প্রশ্নটি কেবল শীর্ষস্থানীয় শ্বেতস্থান উল্লেখ করার জন্য সম্পাদনা করা হয়েছিল। আপনি যদি কেবল শীর্ষস্থানীয় হোয়াইটস্পেসগুলি সরাতে চান তবে নিম্নলিখিতগুলি ব্যবহার করুন:
extension String {
func removingLeadingSpaces() -> String {
guard let index = firstIndex(where: { !CharacterSet(charactersIn: String($0)).isSubset(of: .whitespaces) }) else {
return self
}
return String(self[index...])
}
}
এই স্ট্রিং এক্সটেনশনটি কেবল স্ট্রাইজ স্পেস নয়, একটি স্ট্রিং থেকে সমস্ত সাদা স্থান সরিয়ে দেয় ...
extension String {
func replace(string:String, replacement:String) -> String {
return self.replacingOccurrences(of: string, with: replacement, options: NSString.CompareOptions.literal, range: nil)
}
func removeWhitespace() -> String {
return self.replace(string: " ", replacement: "")
}
}
উদাহরণ:
let string = "The quick brown dog jumps over the foxy lady."
let result = string.removeWhitespace() // Thequickbrowndogjumpsoverthefoxylady.
সুইফট 3
স্ট্রিংয়ের সমস্ত সাধারণ স্পেসগুলি সরাতে আপনি কেবল এই পদ্ধতিটি ব্যবহার করতে পারেন (সমস্ত ধরণের সাদা জায়গা বিবেচনা করবেন না):
let myString = " Hello World ! "
let formattedString = myString.replacingOccurrences(of: " ", with: "")
ফলাফলটি হবে:
HelloWorld!
আপনি রেজেেক্সও ব্যবহার করতে পারেন।
let trimmedString = myString.stringByReplacingOccurrencesOfString("\\s", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: nil)
সুইফট ৩.০+ এর জন্য অন্যান্য উত্তরগুলি দেখুন। এটি এখন সুইফট ২.x এর উত্তরাধিকারের উত্তর
উপরে উত্তর হিসাবে, যেহেতু আপনি প্রথম চরিত্রটি মুছে ফেলতে আগ্রহী .stringByTrimmingCharactersInSet () উদাহরণ পদ্ধতিটি দুর্দান্তভাবে কাজ করবে:
myString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
আপনার স্ট্রিংয়ের সীমানা ছাঁটাতে আপনি নিজের চরিত্র সেটগুলিও তৈরি করতে পারেন, প্রাক্তন:
myString.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>"))
স্ট্রিংবায়ারপ্লেসিংঅ্যাক্সিয়েন্সসঅফস্ট্রিং (টার্গেট: স্ট্রিং, রিপ্লেসমেন্ট: স্ট্রিং) নামে সাবস্ট্রিংগুলি অপসারণ বা প্রতিস্থাপনের সাথে মোকাবিলা করার জন্য একটি বিল্ট ইন ইনস্ট্যান্স পদ্ধতি রয়েছে । এটি আপনার স্ট্রিংয়ের যে কোনও জায়গায় ফাঁকা জায়গা বা অন্য কোনও নিদর্শন সরিয়ে ফেলতে পারে
আপনি বিকল্পগুলি এবং ব্যাপ্তিগুলি নির্দিষ্ট করতে পারেন তবে এটি করার দরকার নেই:
myString.stringByReplacingOccurrencesOfString(" ", withString: "")
আপনার স্ট্রিংয়ে অক্ষরের যে কোনও পুনরাবৃত্তি প্যাটার্ন অপসারণ বা প্রতিস্থাপনের এটি একটি সহজ উপায় এবং এটি শৃঙ্খলিত করা যেতে পারে, যদিও প্রতিটি সময় এটির মাধ্যমে আপনার পুরো স্ট্রিংয়ে আরও একটি পাস নিতে হয়, দক্ষতা হ্রাস পাচ্ছে। সুতরাং আপনি এটি করতে পারেন:
myString.stringByReplacingOccurrencesOfString(" ", withString: "").stringByReplacingOccurrencesOfString(",", withString: "")
... তবে এটি দ্বিগুণ সময় নেবে।
অ্যাপল সাইট থেকে .stringByReplacingOccurrencesOfString () ডকুমেন্টেশন
এই স্ট্রিং উদাহরণ পদ্ধতিগুলির শৃঙ্খলা কখনও কখনও অফ-অফ রূপান্তরগুলির জন্য খুব সুবিধাজনক হতে পারে, উদাহরণস্বরূপ যদি আপনি একটি লাইন ফাঁকা স্থান ছাড়াই একটি ছোট এনএসডাটা ব্লবকে হেক্স স্ট্রিংয়ে রূপান্তর করতে চান, আপনি স্ট্রিং ইন্টারপোলেশনে নির্মিত সুইফ্টের সাথে এটি করতে পারেন এবং কিছু ট্রিমিং এবং প্রতিস্থাপন:
("\(myNSDataBlob)").stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "<>")).stringByReplacingOccurrencesOfString(" ", withString: "")
জন্য দ্রুতগতি 3.0
import Foundation
var str = " Hear me calling"
extension String {
var stringByRemovingWhitespaces: String {
return components(separatedBy: .whitespaces).joined()
}
}
str.stringByRemovingWhitespaces // Hearmecalling
অন্যান্য সংগ্রহগুলি কীভাবে এটি করে নমনীয় এবং নকল করতে আমি এই এক্সটেনশনটি ব্যবহার করব:
extension String {
func filter(pred: Character -> Bool) -> String {
var res = String()
for c in self.characters {
if pred(c) {
res.append(c)
}
}
return res
}
}
"this is a String".filter { $0 != Character(" ") } // "thisisaString"
আপনি যদি মাঝেরটি না করে সামনের (এবং পিছন) থেকে স্পেসগুলি সরাতে চান তবে আপনার ব্যবহার করা উচিত stringByTrimmingCharactersInSet
let dirtyString = " First Word "
let cleanString = dirtyString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
আপনি যদি স্ট্রিংয়ের যে কোনও জায়গা থেকে ফাঁকা স্থান সরিয়ে নিতে চান তবে আপনি স্ট্রিংবায়ারপ্লেসিংয়ের দিকে নজর দিতে পারেন ...
" First Word "
আউটপুট "First Word"
)।
সুইফট 4, 4.2 এবং 5
কেবল সামনে এবং শেষ থেকে স্থান সরান
let str = " Akbar Code "
let trimmedString = str.trimmingCharacters(in: .whitespacesAndNewlines)
স্ট্রিংয়ের যে কোনও জায়গা থেকে স্পেস সরিয়ে ফেলুন
let stringWithSpaces = " The Akbar khan code "
let stringWithoutSpaces = stringWithSpaces.replacingOccurrences(of: " ", with: "")
আপনি এটি চেষ্টা করতে পারেন
let updatedString = searchedText?.stringByReplacingOccurrencesOfString(" ", withString: "-")
extension String {
var removingWhitespaceAndNewLines: String {
return removing(.whitespacesAndNewlines)
}
func removing(_ forbiddenCharacters: CharacterSet) -> String {
return String(unicodeScalars.filter({ !forbiddenCharacters.contains($0) }))
}
}
যদি কেউ স্ট্রিং থেকে অতিরিক্ত স্থান সরিয়ে দেয় যেমন = "This is the demo text remove extra space between the words."
আপনি সুইচট 4 এ এই ফাংশনটি ব্যবহার করতে পারেন।
func removeSpace(_ string: String) -> String{
var str: String = String(string[string.startIndex])
for (index,value) in string.enumerated(){
if index > 0{
let indexBefore = string.index(before: String.Index.init(encodedOffset: index))
if value == " " && string[indexBefore] == " "{
}else{
str.append(value)
}
}
}
return str
}
এবং ফলাফল হবে
"This is the demo text remove extra space between the words."
হাই এটি দেরী হতে পারে তবে চেষ্টা করার মতো। এটি কোনও খেলার মাঠের ফাইল থেকে। আপনি এটিকে স্ট্রিং এক্সটেনশন করতে পারেন।
এটি সুইফ্ট 5.3 এ লেখা হয়েছে
পদ্ধতি 1:
var str = "\n \tHello, playground "
if let regexp = try? NSRegularExpression(pattern: "^\\s+", options: NSRegularExpression.Options.caseInsensitive) {
let mstr = NSMutableString(string: str)
regexp.replaceMatches(in: mstr, options: [], range: NSRange(location: 0, length: str.count), withTemplate: "")
str = mstr as String
}
Result: "Hello, playground "
পদ্ধতি 2:
if let c = (str.first { !($0 == " " || $0 == "\t" || $0 == "\n") }) {
if let nonWhiteSpaceIndex = str.firstIndex(of: c) {
str.replaceSubrange(str.startIndex ..< nonWhiteSpaceIndex, with: "")
}
}
Result: "Hello, playground "
সুইফট 3 সংস্করণ
//This function trim only white space:
func trim() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespaces)
}
//This function trim whitespeaces and new line that you enter:
func trimWhiteSpaceAndNewLine() -> String
{
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
let strFirstName = txtFirstName.text?.trimmingCharacters(in:
CharacterSet.whitespaces)
তবুও অন্য উত্তর, কখনও কখনও ইনপুট স্ট্রিং শব্দের মধ্যে একাধিক স্থান থাকতে পারে। আপনার যদি শব্দের মধ্যে মাত্র 1 স্থান থাকতে মানীকরণ করতে হয় তবে এটি চেষ্টা করুন (সুইফট 4/5)
let inputString = " a very strange text ! "
let validInput = inputString.components(separatedBy:.whitespacesAndNewlines).filter { $0.count > 0 }.joined(separator: " ")
print(validInput) // "a very strange text !"
string = string.filter ({!" ".contains($0) })
ব্যাডমিন্টনকিটকের উত্তরের সুইফট 3 সংস্করণ
extension String {
func replace(_ string:String, replacement:String) -> String {
return self.replacingOccurrences(of: string, with: replacement, options: NSString.CompareOptions.literal, range: nil)
}
func removeWhitespace() -> String {
return self.replace(" ", replacement: "")
}
}
whitespaceCharacterSet
করা একটি সেরা অনুশীলন।
class SpaceRemover
{
func SpaceRemover(str :String)->String
{
var array = Array(str)
var i = array.count
while(array.last == " ")
{
var array1 = [Character]()
for item in 0...i - 1
{
array1.append(array[item])
}
i = i - 1
array = array1
print(array1)
print(array)
}
var arraySecond = array
var j = arraySecond.count
while(arraySecond.first == " ")
{
var array2 = [Character]()
if j > 1
{
for item in 1..<j
{
array2.append(arraySecond[item])
}
}
j = j - 1
arraySecond = array2
print(array2)
print(arraySecond)
}
print(arraySecond)
return String(arraySecond)
}
}