الانتقال إلى المحتوى الرئيسي

كيف تعمل وظيفة الاستبدال: الميزات وأمثلة الاستخدام

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

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

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

نص فار = "أحب البرمجة";

فار نص جديد = نص.يستعاض عن ("البرمجة" ، "الموسيقى");

نتيجة لذلك ، نحصل على سطر جديد "أحب الموسيقى". هذا مثال بسيط على استخدام وظيفة الاستبدال ، ولكن يمكنك استخدامها لإجراء تحويلات نصية أكثر تعقيدا.

  1. المبادئ الأساسية لوظيفة الاستبدال
  2. استبدال سلسلة فرعية بأخرى
  3. الأحرف الحساسة لحالة الأحرف
  4. بدائل متعددة في سطر واحد
  5. أمثلة على استخدام وظيفة الاستبدال
  6. نصائح لاستخدام وظيفة الاستبدال:
  7. سؤال وجواب
  8. كيف تعمل وظيفة استبدال في لغة البرمجة?
  9. هل من الممكن استخدام وظيفة استبدال لاستبدال سلاسل فرعية متعددة?
  10. كيف يمكنني استخدام وظيفة استبدال لاستبدال سلسلة فرعية في سلسلة?
  11. هل من الممكن استخدام وظيفة استبدال لاستبدال حالة الحرف?
  12. ما هي الوظائف الأخرى التي يمكن استخدامها لاستبدال سلاسل فرعية في سلسلة أخرى غير استبدال?

المبادئ الأساسية لوظيفة الاستبدال

وظيفة استبدال هي وظيفة سلسلة مهمة في العديد من لغات البرمجة ، بما في ذلك جافا سكريبت ، بي إتش بي ، بيثون ، وغيرها الكثير. يسمح لك باستبدال سلسلة فرعية بأخرى في سلسلة معينة.

بناء الجملة الأساسي لوظيفة الاستبدال هو كما يلي:

استبدال (السلسلة الفرعية المطلوبة ، استبدال)

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

استبدال (السلسلة الفرعية المطلوبة ، استبدال، "ز")

تقوم وظيفة الاستبدال بتطبيق الاستبدال على السلسلة وإرجاع سلسلة جديدة مع السلاسل الفرعية المستبدلة. إذا لم يتم العثور على شيء ، تقوم الدالة بإرجاع السلسلة الأصلية.

مثال على استخدام وظيفة الاستبدال:

دعونا شارع = " مرحبا ، العالم!";

دعونا نيوستر = شارع .استبدال ("مرحبا" ، "مرحبا");

وحدة التحكم.سجل (نيوستر) ؛ / / المخرجات "مرحبا ، العالم!"

في هذا المثال ، تبحث وظيفة الاستبدال عن السلسلة الفرعية " مرحبا "في السلسلة" مرحبا ، العالم!"،ويستبدلها مع سلسلة فرعية "مرحبا". وبالتالي ، فإن القيمة الجديدة لمتغير نيوستر ستكون " مرحبا ، العالم!".

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

وبالتالي ، فإن وظيفة الاستبدال هي أداة قوية للعمل مع السلاسل الفرعية وتسمح لك بتغيير السلاسل بسهولة من خلال إيجاد واستبدال الأجزاء الضرورية فيها.

استبدال سلسلة فرعية بأخرى

وظيفة استبدال هي واحدة من الوظائف الرئيسية لاستبدال سلاسل فرعية في سلسلة في لغة برمجة جافا سكريبت. يسمح لك باستبدال جميع تكرارات سلسلة فرعية بأخرى في سلسلة معينة.

بناء جملة الدالة هو كما يلي:

سلسلة.استبدال (سلسلة فرعية ، استبدال)

أين:

  • السلسلة هي السلسلة الأصلية التي يتم فيها استبدال السلسلة الفرعية.
  • السلسلة الفرعية هي السلسلة التي تحتاج إلى استبدالها.
  • الاستبدال هو السلسلة لاستبدال السلسلة الفرعية بها.

مثال على استخدام وظيفة الاستبدال:

الخط الأصليسلسلة فرعيةاستبدالالنتيجة
"أنا أحب لغة البرمجة جافا سكريبت""جافا سكريبت""تيبسكريبت""أنا أحب لغة البرمجة تيبسكريبت"
"مرحبا العالم!""العالم""عالم آخر""مرحبا العالم الآخر!"
"إيه بي سي 123 إيه بي سي 123 إيه بي سي""اي بي سي""شيز""شيز 123 شيز 123 شيز"

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

الأحرف الحساسة لحالة الأحرف

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

تأخذ المعلمة الحساسة للحالة قيمة منطقية: حساسة لحالة الأحرف ، وتجاهل الحالة الخاطئة.

مثال 1:

دعونا شارع = "مرحبا العالم";

دعونا نيوستر = شارع .استبدال ("مرحبا" ، "مرحبا" ، صحيح);

وحدة التحكم.سجل (نيوستر) ؛ / / "مرحبا بالعالم"

في هذا المثال ، استخدمنا وظيفة الاستبدال لاستبدال السلسلة الفرعية " مرحبا "بـ" مرحبا "في السلسلة"مرحبا بالعالم". تم تمكين حساس لحالة الأحرف عن طريق تمرير القيمة الحقيقية إلى المعلمة الحساسة للحالة. وكانت نتيجة الاستبدال سلسلة "مرحبا العالم".

المثال 2:

دعونا شارع = "مرحبا العالم";

دعونا نيوستر = شارع . استبدال ("مرحبا" ، "مرحبا" ، خطأ);

وحدة التحكم.سجل (نيوستر) ؛ / / "مرحبا بالعالم"

في هذا المثال ، استخدمنا وظيفة الاستبدال لاستبدال السلسلة الفرعية " مرحبا "بـ" مرحبا "في السلسلة"مرحبا بالعالم". تم تمكين تجاهل الحالة عن طريق تمرير القيمة الخاطئة إلى المعلمة الحساسة للحالة. كانت نتيجة الاستبدال سلسلة "مرحبا بالعالم" ، حيث تم العثور على السلسلة الفرعية" مرحبا " واستبدالها ، على الرغم من الاختلاف في الحالة.

ملاحظة:

إذا لم يتم تحديد قيمة في الحالةالمعلمة الحساسة ، ثم يتم تمكين حالة حساسة بشكل افتراضي.

بدائل متعددة في سطر واحد

تتمثل إحدى الميزات المفيدة لوظيفة الاستبدال () في قدرتها على إجراء بدائل متعددة في سطر واحد. يتيح لك ذلك استبدال العديد من التطابقات في نفس الوقت ، والتي يمكن أن تكون مريحة للغاية عند معالجة كميات كبيرة من النص.

لإجراء استبدال متعدد في وظيفة استبدال () ، يمكنك تمرير تعبير عادي بعلامة البحث العالمية "ز" كوسيطة أولى. تخبر هذه العلامة وظيفة الاستبدال () بالبحث عن جميع التطابقات في السلسلة ، وليس فقط الأولى.

كوسيطة ثانية لوظيفة الاستبدال () ، يتم تمرير سلسلة أو وظيفة سيتم استخدامها لاستبدال التطابقات التي تم العثور عليها. إذا تم تمرير سلسلة كوسيطة ثانية ، فسيتم استخدامها لاستبدال كل مباراة.

على سبيل المثال ، إذا أردنا استبدال الكلمات " أنا "بكلمة" هو "في السطر" أحب التفاح والتوت " ، فيمكننا استخدام الكود التالي:

دعونا شارع = "أنا أحب التفاح والتوت";

دعونا نيوستر = شارع . يستعاض عن (/ط / ز ، "هو");

وحدة التحكم.سجل (نيوستر) ؛ / / الإخراج: "يحب التفاح والتوت"

في هذا المثال ، يبحث التعبير العادي / ط / ز عن جميع تطابقات الحرف" أنا "في السلسلة ، ويتم استخدام السلسلة" هو " لاستبدال التطابقات التي تم العثور عليها. والنتيجة هي سلسلة يتم فيها استبدال جميع المباريات بـ"هو".

يمكنك أيضا استخدام الوظيفة كوسيطة ثانية لإجراء استبدال أكثر تعقيدا. سيتم استدعاء الدالة لكل مباراة ويجب أن تعيد سلسلة لتحل محلها.

على سبيل المثال ، إذا أردنا استبدال الكلمات " أنا " في السطر "أحب التفاح والتوت" بكلمة " هو " فقط إذا كانت في بداية الجملة ، فيمكننا استخدام الكود التالي:

دعونا شارع = "أنا أحب التفاح والتوت";

دعونا نيوستر = شارع . استبدال (|(^/\ق)ط / ز ، وظيفة (مباراة) {

عودة (مباراة.يبدأ مع ("")? المباراة:"") + "هو";

});

وحدة التحكم.سجل (نيوستر) ؛ / / الإخراج: "أنا أحب التفاح والتوت"

في هذا المثال ، يتم استدعاء الدالة التي تم تمريرها كوسيطة ثانية لكل تطابق باستخدام طريقة الاستبدال (). داخل الوظيفة ، نتحقق مما إذا كانت المباراة تبدأ بمسافة ، وإذا لم يكن الأمر كذلك ، فقم بإضافتها قبل الاستبدال.

وبالتالي ، يمكن أن تكون وظيفة الاستبدال () أداة مريحة للغاية لإجراء عمليات استبدال متعددة في سطر واحد. يسمح لك باستبدال تطابقات متعددة في نفس الوقت ويوفر إعدادات استبدال مرنة باستخدام التعبيرات والوظائف العادية.

أمثلة على استخدام وظيفة الاستبدال

وظيفة الاستبدال هي وظيفة مضمنة في جافا سكريبت تسمح لك باستبدال سلسلة فرعية واحدة أو أكثر في سلسلة بسلسلة فرعية أخرى. فيما يلي بعض الأمثلة على استخدامه:

  1. كونست نيوستر = شارع.استبدال (/أفضل / أنا ، 'أسوأ');

وحدة التحكم.سجل (نيوستر) ؛ / / المخرجات: "جافا سكريبت هو الأسوأ!"

  1. في هذا المثال ، وظيفة استبدال مع العلم الأول (تجاهل القضية) يستبدل سلسلة فرعية 'أفضل' مع 'أسوأ' بغض النظر عن الحالة.
  2. استبدال باستخدام وظيفة رد الاتصال:

كونست شارع = ' مرحبا ، العالم!';

كونست نيوستر = شارع.استبدال (/مرحبا / أنا ، (مباراة) => مباراة.توبركاسي());

وحدة التحكم.سجل (نيوستر) ؛ / / المخرجات: "مرحبا ، العالم!"