English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

الحروف والكلمات Swift

في هذا الدليل، ستتعلم استخدام الحروف والسلاسل في Swift. ستتعلم أيضًا العمليات المختلفة التي يمكنك تنفيذها على السلاسل والحروف.

ما هو الحرف؟

الحرف هو علامة واحدة (حرف، رقم، إلخ). الحروف في Swift هي نوع Character، يتم إعلانها كالتالي:

let someCharacter:Character

كيفية إعلان وتخصيص الحرف في Swift؟

يمكنك استخدام الأقواس المزدوجة “” لتعريف قيمة الحرف بنفس الطريقة التي تستخدمها للسلسلة، لكن يجب أن تحتوي الأقواس المزدوجة فقط على حرف واحد.

إذا كنت بحاجة إلى تضمين عدة حروف، فإنه يجب تعريفها كنوع String بدلاً من Character.

مثال 1: إعلان وتخصيص الحرف

let someCharacter:Character = “H”
let specialCharacter:Character = “@”
print(someCharacter)
print(specialCharacter)

عند تشغيل هذا البرنامج، الناتج هو:

H
@

مثال 2: تخصيص عدة حروف (غير صالح)

لكن، إذا حاولت تخصيص علامتين في السلسلة

/*
 سيكون هذا خطأً.
تغيير النوع إلى 字符串 يمكن إصلاح المشكلة.
*/
let failableCharacter: Character = "H@"
print(failableCharacter)

عند محاولة تشغيل الشيفرة السابقة، ستحصل على رسالة خطأ كما يلي:

Cannot convert value of type String to Character. (لا يمكن تحويل قيمة نوع String إلى Character.)

إنشاء الأحرف باستخدام Unicode و سلسلة النصوص المضمنة

يمكنك أيضًا استخدام unicodes لإنشاء أنواع خاصة من الأحرف لتعبر عن رموز تعبيرية. يمكنك استخدام سلسلة النصوص المضمنة \u {n} لإنشاء Unicode (الرمز المميز Unicode، n هو الرقم السداسي).

مثال 3: إنشاء رمز Unicode

let heartShape: Character = "\u{2665}"
print(heartShape)

عند تشغيل هذا البرنامج، الناتج هو:

في المثال السابق، تم إنشاء رمز القلب من قبل U + 2665. على الرغم من أن \u {2665} مضمونة بين علامات الهوامش، إلا أن المبرمج لن يعتبرها نمطًا لأننا استخدمنا سلسلة النصوص المضمنة \u {n}. لا تمثل سلسلة النصوص المضمنة النصوص نفسها.

ما هو النمط؟

الأنماط هي مجرد مجموعة من الأحرف. في Swift، الأنماط هي نوع String وتُعلن كالتالي:

let someString: String

كيفية إعلان وتخصيص الأنماط في Swift؟

يمكنك استخدامنص مكتوبتُخصص القيم باستخدام نوع String. النصوص المكتوبة هي مجموعة من الأحرف المحددة بين علامات الهوامش " ".

مثال 4: إعلان وتخصيص الأنماط

let someString: String = "Hello, world!"
let someMessage = "I love Swift."
print(someString)
print(someMessage)

عند تشغيل هذا البرنامج، الناتج هو:

Hello, world!
I love Swift.

في هذا السياق، "Hello,world!" و "i love Swift. " هي الأنماط المستخدمة لإنشاء متغيرات الأنماط someString و someMessage.

عمليات الأنماط

يحتوي String على بعض الدوال والمواصفات المدمجة لمعالجة العمليات الأكثر شيوعًا. على سبيل المثال: لتوصيل الأنماط، قم بتغييرها إلى صيغة كبيرة أو صيغة كبيرة. دعنا نستعرض بعض العمليات الشائعة:

مقارنة الأنماط

يمكنك استخدامعمليات المقارنة (==) يتحقق ببساطة مما إذا كانت كلمتان متشابهتان. إذا كانت الكلمتان متشابهتان، فإن العنصر يعود إلى true، وإلا يعود إلى false.

مثال 5: مقارنة الأنماط في Swift

let someString = "Hello, world!"
let someMessage = "I love Swift."
let someAnotherMessage = "Hello, world!"
print(someString == someMessage)
print(someString == someAnotherMessage)

عند تشغيل هذا البرنامج، الناتج هو:

false
true

ربط النصي

يمكنك استخدامعمليات الحساب المركبة (+) أو يمكن استخدامعمليات الحساب المركبة (+=) يضيفان قيمتين نصيتين مختلفتين. يمكنك أيضًا استخدام طريقة append للاضافة على حرف/سلسلة نصية.

مثال 6: ربط النصي في Swift

let helloStr = "Hello, "
let worldStr = "World"
var result = helloStr + worldStr
print(result)
result.append("!")
print(result)

عند تشغيل هذا البرنامج، الناتج هو:

Hello, World
Hello, World!

في البرنامج المذكور أعلاه، قمنا بإنشاء سلسلة نصية من خلال الربط باستخدام + وعمليات الحساب المركبة.النص result. لذلك، helloStrworldStrprint(result)، سيعرض على الشاشةHello،World.

يمكنك أيضًا استخدام طريقة append للاضافة على أي حرف أو سلسلة نصية. result.append("!") لتحديد حرف ! في نهاية السلسلة. لذلك، print(result)، سيعرض على الشاشةHello،World!.

ربط النصي باستخدام عمليات الحساب المركبة

يمكننا أيضًا استخدام عمليات الحساب المركبة (+=) للربط النصي.

مثال 7: استخدام عمليات الحساب المركبة += للربط النصي

var helloStr = "Hello, "
let worldStr = "World!"
helloStr += worldStr
print(helloStr)

عند تشغيل هذا البرنامج، الناتج هو:

Hello, World!

لاحظ أن تم استخدام var بدلاً من let في helloStr. إذا كنت قد استخدمت let لتعريف helloStr كمعلمة ثابتة، فإنك لن تستطيع استخدام عمليات الحساب المركبة += لتغييرها، مما يؤدي إلى خطأ. لذلك، يجب عليك تعريف helloStr كمعلمة.

إدراك السلسلة

هذا عملية بسيطة، سلسلة نصية محددة، تتضمن المتغيرات، القيم الثابتة، إلخ. افترض أن لديك اسم اللاعب ودرجة التقييم مخزنين في قيمتين ثابتتين، مثلما يلي:

let playerName = "Jack"
let playerScore = 99

الآن، تحتاج إلى عرض رسالة على اللاعب،تهانيجاك!أعلى نتيجة لك هي 99هنا، تحتاج إلى طريقة لاستخدام القيم الثابتة في سلسلة واحدة.

هذا يمكن تحقيقه باستخدام السلسلة النصية:

let congratsMessage = "تهاني " + playerName + "!. إن أعلى نتيجة لك هي " + playerScore + "."
print(congratsMessage)

لكن، الطريقة السابقة ليست واضحة.

إذن، هناك طريقة سهلة لعرض الرسائل باستخدام التكامل في النصوص.

ينبغي وضع المتغيرات أو القيم الثابتة في النصوص المباشرة بين أقواس مزدوجة ( )، ويجب وضع الرمز المائلتان كأول حرف (\).

مثال 8: التكامل في Swift

let playerName = "Jack"
let playerScore = 99
let congratsMessage = "تهاني\(playerName)!. إن أعلى نتيجة لك هي \(playerScore)."
print(congratsMessage)

عند تشغيل هذا البرنامج، الناتج هو:

تهاني Jack! إن أعلى نتيجة لك هي 99.

الوظائف والخصائص المدمجة في النصوص:

1. isEmpty (تحديد ما إذا كانت فارغة)

هذا الدالة تحدد ما إذا كانت النصوص فارغة. إنها تعطي true إذا كانت النصوص فارغة، وإلا تعطي false.

مثال 9: isEmpty

var emptyString = ""
print(emptyString.isEmpty)

عند تشغيل هذا البرنامج، الناتج هو:

true

2.capitalized (كتابة الكلمة كبيرة)

هذا الخصائص يستخدم لتحويل كل كلمة في النص إلى أحرف كبيرة.

مثال 10: الكتابة الكبيرة

let someString = "hello, world!"
print(someString.capitalized)

عند تشغيل هذا البرنامج، الناتج هو:

Hello, World!

3.uppercased و lowercased (كتابة النص كبيرًا وصغيرًا)

دالة الكتابة الكبيرة تحول النص إلى أحرف كبيرة، ودالة الكتابة الصغيرة تحول النص إلى أحرف صغيرة.

مثال 11: uppercased() و lowercased()

let someString = "Hello, World!"
print(someString.uppercased())
print(someString.lowercased())

عند تشغيل هذا البرنامج، الناتج هو:

HELLO, WORLD!
hello, world!

4.count (حساب/طول)

هذا الخصائص يستخدم لحساب عدد الأحرف في النص.

مثال 12: حساب

let someString = "Hello, World!"
print(someString.count)

عند تشغيل هذا البرنامج، الناتج هو:

13

5. hasPrefix

هذا الدالة تحدد ما إذا كانت النصوص تبدأ بـحرف معين، وتعطي قيمة بولية. إذا كانت النصوص المقدمة تطابق القيمة المقدمة، فإنها تعطي true، وإلا تعطي false.

مثال 13: hasPrefix()

let someString = "Hello, World!"
print(someString.hasPrefix("Hell"))
print(someString.hasPrefix("hell"))

عند تشغيل هذا البرنامج، الناتج هو:

true
false

6. hasSuffix

هذه الوظيفة تحدد ما إذا كانت الكلمة المفتوحة تنتهي بتحديد حرف معين وتقوم بتقديم قيمة منطقية. إذا كانت الكلمة المفتوحة تتطابق مع القيمة المقدمة، فإنها تعود إلى true، وإلا تعود إلى false.

مثال 14: hasSuffix()

print(someString.hasSuffix("rld!"))
print(someString.hasSuffix("Rld!"))

عند تشغيل هذا البرنامج، الناتج هو:

true
false