عندما ترغب في قص سلسلة نصية في لغة Swift لتحصل على كل ما يأتي بعد النقطة، يمكنك استخدام الدالة split(separator:)
لتقسيم النص إلى أجزاء باستخدام فاصلة محددة، ثم اختيار الجزء الثاني من النص المقسم. إليك كيفية تنفيذ ذلك:
swiftfunc trimString(input: String, separator: Character) -> String? {
let components = input.split(separator: separator)
guard components.count > 1 else {
return nil // يتم إرجاع nil في حالة عدم وجود الفاصلة في النص
}
let trimmedString = components[1].trimmingCharacters(in: .whitespaces)
return trimmedString
}
// استخدام الدالة لقص النص
if let trimmed = trimString(input: "Sally: Hello My Name is Sally", separator: ":") {
print(trimmed) // سيطبع: "Hello My Name is Sally"
} else {
print("No colon found in the input string.") // في حالة عدم وجود الفاصلة في النص
}
في هذا المثال، تتم مراقبة وجود الفاصلة باستخدام الدالة split(separator:)
لتقسيم النص إلى جزئين، وبعد ذلك يتم تنظيف الجزء الثاني باستخدام trimmingCharacters(in:)
لإزالة الفراغات الزائدة من الجزء المقسوم. إذا كان النص الأصلي لا يحتوي على الفاصلة، ستعود الدالة بقيمة nil
، ويتم التحقق من ذلك في جزء الاستخدام باستخدام شرط guard
.
المزيد من المعلومات
بالطبع، يمكننا أن نوسع قليلاً على المعلومات المتعلقة بطرق تقليم السلاسل في لغة Swift وكيفية استخدام الدوال المتوفرة لذلك.
استخدام components(separatedBy:)
:
يمكن استخدام الدالة components(separatedBy:)
لتقسيم النص إلى جزئين باستخدام الفاصلة كمعيار. هذا يشبه استخدام split(separator:)
ولكن يعود بقائمة من الأجزاء المفصولة بدلاً من مصفوفة.
swiftfunc trimStringUsingComponents(input: String, separator: String) -> String? {
let components = input.components(separatedBy: separator)
guard components.count > 1 else {
return nil
}
let trimmedString = components[1].trimmingCharacters(in: .whitespaces)
return trimmedString
}
// استخدام الدالة لقص النص
if let trimmed = trimStringUsingComponents(input: "Sally: Hello My Name is Sally", separator: ":") {
print(trimmed) // سيطبع: "Hello My Name is Sally"
} else {
print("No colon found in the input string.")
}
التحقق من وجود الفاصلة:
يمكن أيضًا استخدام دوال مثل contains()
للتحقق من وجود الفاصلة في النص قبل تقسيمه.
swiftfunc trimStringWithContains(input: String, separator: Character) -> String? {
guard let separatorIndex = input.firstIndex(of: separator) else {
return nil
}
let substring = input[input.index(after: separatorIndex)...]
let trimmedString = String(substring).trimmingCharacters(in: .whitespaces)
return trimmedString
}
// استخدام الدالة لقص النص
if let trimmed = trimStringWithContains(input: "Sally: Hello My Name is Sally", separator: ":") {
print(trimmed) // سيطبع: "Hello My Name is Sally"
} else {
print("No colon found in the input string.")
}
تحسين الأداء:
في بعض الحالات، خاصة عند التعامل مع نصوص طويلة، قد تحتاج إلى النظر في تحسين الأداء. يمكن استخدام الدوال المتقدمة مثل range(of:)
لتحديد الموقع الأول للفاصلة بدلاً من البحث الكامل في النص.
swiftfunc trimStringWithRange(input: String, separator: Character) -> String? {
guard let separatorRange = input.range(of: String(separator)) else {
return nil
}
let substring = input[separatorRange.upperBound...]
let trimmedString = String(substring).trimmingCharacters(in: .whitespaces)
return trimmedString
}
// استخدام الدالة لقص النص
if let trimmed = trimStringWithRange(input: "Sally: Hello My Name is Sally", separator: ":") {
print(trimmed) // سيطبع: "Hello My Name is Sally"
} else {
print("No colon found in the input string.")
}
بهذه الطرق، يمكنك تنفيذ عملية تقليم السلاسل في لغة Swift بطرق مختلفة وفقًا لاحتياجاتك ولتحسين أداء التطبيقات الخاصة بك.