في باسكال ، يمكنك تحديد جزء من سلسلة ( سلسلة فرعية ). لهذا ، يتم استخدام عملية النسخ.
الشكل العام للعملية هو كما يلي: <قبل> s1: = نسخ (s ، فهرس ، عدد) ؛ يأخذ هذا الأمر شريحة من السلسلة s ، بدءًا من الحرف في الفهرس index of length count.
على سبيل المثال، <قبل> s1: = نسخ (ق ، 3 ، 5) ؛ إذا كان الفهرس أكبر من طول السلسلة ، فسيتم إرجاع سلسلة فارغة. إذا كانت أحرف العد ، بدءًا من الفهرس ، أطول من طول السلسلة ، فسيتم إرجاع السلسلة ، بدءًا من الفهرس والنهاية.

وإليك مدى سهولة عكس السلسلة: <قبل> ق: = & # 39 ؛ 0123456789 & # 39 ؛؛ s1: = reverseString (s) ؛ // s1 = & # 39 ؛ 0123 & # 39 ؛

لحذف جزء من سلسلة ، تحتاج إلى استخدام طريقة delete (s ، firstIndex ، count): فهي تزيل عدد أحرف من السلسلة s ، بدءًا من الفهرس الأول <قبل> ق: = & # 39 ؛ 0123456789 & # 39 ؛؛ حذف (ق ، 4 ، 6) ؛ // s1 = "0129"

لنسخ جزء من سلسلة ، يمكنك استخدام طريقة copy (s ، index ، count) - ستعيد جزءًا من السلسلة s ، بدءًا من الفهرس index وطول العد
على & nbsp؛

<قبل> ق: = & # 39 ؛ 123456789 & # 39 ؛؛ s1: = نسخ (ق ، 3 ، 4) ؛ // s1 = & # 39 ؛ 3456 & # 39 ؛

باسكال لديها العديد من الإجراءات للعمل مع السلاسل. & nbsp؛ يُطلق على العديد منها استخدام التدوين النقطي ويُطلق عليها طرق . يمكن العثور على قائمة كاملة بأساليب معالجة السلاسل على الإنترنت. & nbsp؛
دعنا نتعرف على بعض منهم. <قبل> s: = & # 39 ؛ aAbBcC & # 39 ؛ sUp: = الأحرف الكبيرة ؛ // sUp = & quot؛ AABBCC & quot؛ - طريقة تحول كل حرف في سلسلة نصية إلى أحرف كبيرة sLow: = الأحرف الصغيرة // sLow = & quot؛ aabbcc & quot؛ - طريقة تحول كل حرف في سلسلة إلى أحرف صغيرة الطريقة دائما مكتوبة بين قوسين. هناك بعض المعاملات داخل الأقواس ، إذا لزم الأمر.

طريقة أخرى مفيدة & nbsp؛ - val (s، v، ind) - طريقة للتحقق مما إذا كانت جميع أحرف السلسلة أرقامًا. s - سلسلة المصدر ، v تحتوي على رقم إذا كانت سلسلة المصدر رقمًا ، و 0 بخلاف ذلك ، تحتوي ind على رقم أول < strong> index s
وهو ليس رقمًا ، أو 0 إذا كانت s عبارة عن رقم. <قبل> ق: = & # 39 ؛ ab1c & # 39 ؛ val (s ، v ، ind) ؛ writeln (v ، & # 39 ؛ & # 39 ؛ ، الهند) ؛ // 0 3 ق: = & # 39 ؛ 123 & # 39 ؛؛ val (s ، v ، ind) ؛ w (vriteln، & # 39؛ & # 39 ؛، ind) ؛ // 123 0 طريقة القطع المفيدة & nbsp ؛ - تسمح لك بإزالة المسافات في بداية ونهاية السلسلة <قبل> ق: = & # 39 ؛ أب 1 ج & # 39 ؛؛ طباعة (& # 39 ؛ ق = & # 39 ؛ ، تقليم (ق)) ؛ // ق = أب 1 ج

للبحث داخل سلسلة في باسكال ، استخدم طريقة pos () .
تقوم بإرجاع فهرس التكرار الأول للسلسلة الفرعية في السلسلة:
pos (originalString، smallString) - يبدو في & nbsp؛ originalString & nbsp؛ smallString

عندما لا يتم العثور على السلسلة الفرعية ، ترجع الطريقة 0: <قبل> ترحيب: = & # 39 ؛ أهلاً بالعالم! وداعا العالم! & # 39 ؛؛ الفهرس: = pos (مرحبًا ، & # 39 ؛ WOR & # 39 ؛) ؛ writeln (فهرس) ؛ // 7 الفهرس: = pos (مرحبًا ، & # 39 ؛ sun & # 39 ؛) ؛ writeln (فهرس) ؛ // 0
الرجاء ملاحظة: أن هذه الطرق لا تبحث عن عدد مرات الحدوث ، ولكنها تحدد فقط ما إذا كان هناك سلسلة فرعية من هذا القبيل في السلسلة أم لا .

في باسكال ، لاستبدال سلسلة فرعية بأخرى في سلسلة ، استخدم stringReplace () : & nbsp؛
طريقة stringReplace (original، old، new، flag) : تم استبدال originalString & nbsp؛ & nbsp؛ substring old في new ، & nbsp؛ flag & nbsp؛ هي إحدى قيم & nbsp؛ rfReplaceAll & nbsp؛ أو & nbsp؛ rfIgnoreCase، & nbsp؛ مكتوب بين قوسين مربعين. في الحالة الأولى ، كل تكرارات & nbsp؛ old & nbsp؛ إلى السلسلة الأصلية ، في الحالة الثانية ، الأولى فقط.

مثال على استبدال سلسلة باسكال:
على & nbsp؛

<قبل> الهاتف = & # 39 ؛ + 1-234-567-89-10 & # 39 ؛ // يتم تغيير الواصلات إلى مسافات edited_phone: = stringreplace (phone ، - & # 39 ؛، & # 39 ؛ & # 39 ؛، [rfReplaceAll]) ؛ writeln (edited_phone) ؛ // +1234567 89 10 // يتم إزالة الواصلات edited_phone: = stringreplace (phone ، - & # 39 ؛، & # 39 ؛ & # 39 ؛، [rfReplaceAll]) ؛ writeln (edited_phone) ؛ // +12345678910 // فقط التغييرات الأولى للشرطة edited_phone: = replace (هاتف ، & # 39 ؛ - & # 39 ؛، & # 39 ؛ & # 39 ؛، [rfIgnoreCase]) ؛ writeln (edited_phone) ؛ // + 1234-567-89-10