ما هو الفرق بين String.slice و String.substring؟

Ma Hw Alfrq Byn String Slice W String Substring



تلعب الأوتار دورًا مهمًا في عالم البرمجة. هذه مفيدة بينما يقوم المبرمج بتوصيل المعلومات مع مستخدم البرنامج. في بعض الأحيان ، هناك حاجة لاسترداد جزء / شريحة معينة من السلسلة. يوفر JavaScript طرقًا مختلفة لهذا الغرض بما في ذلك ' string.slice () 'و' string.substring () ' طُرق.

سيوضح هذا المنشور:







ما هو String.slice () في JavaScript؟

ال ' شريحة() ”تنتقي جزءًا من سلسلة ثم تسترد هذا الجزء كسلسلة جديدة. يتم تحديد الجزء المستخرج باستخدام معلمات البداية والنهاية. لاستخدام هذه الطريقة ، اتبع الصيغة الموضحة أدناه:



خيط. شريحة ( فهرس البداية و النهاية )

مثال:

في هذا المثال المذكور ، اصنع كائنًا وقم بتمرير سلسلة معينة كقيمة للمتغير المحدد:



دعونا سلسلة = 'Linux'

هنا ، ' شريحة() 'يتم استدعاء طريقة' مع فهرس البداية كـ ' 5 'ومؤشر النهاية باسم' 9 '. سيحدد شريحة السلسلة وفقًا للنطاق المحدد ويخزنها في متغير آخر:





سلسلة = خيط. شريحة ( 5 و 9 )

استدعاء ' console.log () 'وتمرير المتغير حيث يتم تخزين شريحة السلسلة لعرض النتيجة على وحدة التحكم:

وحدة التحكم. سجل ( سلسلة )

نتيجة لذلك ، تتم طباعة شريحة السلسلة على وحدة التحكم:



ما هو String.substring () في JavaScript؟

مشابهه ل ' شريحة() ' طريقة، ' سلسلة فرعية () 'له أيضًا نفس الصيغة في JavaScript. ال ' سلسلة فرعية () ”تنتقي جزءًا من سلسلة نصية لتجعلها سلسلة نصية جديدة ثم تعيدها. يتم تحديد الجزء المسترد من السلسلة بمساعدة معلمات البداية والنهاية:

يحدق. سلسلة فرعية ( فهرس البداية و النهاية )

مثال

للحصول على السلسلة الفرعية من سلسلة كبيرة ، فإن JavaScript ' سلسلة فرعية () يمكن استخدام طريقة ”. للقيام بذلك ، قم بإنشاء كائن وتخزين سلسلة فيه:

دعونا سلسلة = 'Linuxhint هو أفضل موقع تعليمي'

بعد ذلك ، يمكنك استدعاء ' سلسلة فرعية () 'وقم بتعيين فهرس البداية والنهاية للحصول على السلسلة الفرعية من سلسلة:

سلسلة فرعية = خيط. سلسلة فرعية ( 5 و 17 )

أخيرًا ، قم بتمرير كائن السلسلة الفرعية إلى طريقة 'console.log ()' لعرض الناتج:

وحدة التحكم. سجل ( سلسلة فرعية )

يمكن ملاحظة أن السلسلة الفرعية معروضة على وحدة التحكم:

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

التفريق بين String.slice () و String.substring ()؟

بعض الفروق المهمة بين الوظائف المذكورة مذكورة أدناه:

String.slice () String.substring ()
اللدغة. يتم استدعاء طريقة slice () 'لاستخراج جزء من السلسلة. يتم استخدام طريقة “string.substring ()” لاسترداد سلسلة فرعية في سلسلة نصية.
سيتم إرجاع السلسلة فارغة إذا كان فهرس البداية سالبًا ومؤشر النهاية موجبًا. يقوم بتبديل كلا المعلمتين مع بعضهما البعض إذا كانت البداية أكبر من نقطة التوقف.
إذا كانت البداية سالبة ، فإنها تحدد الحرف من نهاية السلسلة ، مثل 'substr ()'. سيتم اعتبار أي وسيطة سلبية أو NaN على أنها 0.

وفقًا للاختلافات الأساسية التي تمت مناقشتها في العبارات الثانية والثالثة ، سنتحقق الآن من بعض الأمثلة. في هذه الأمثلة ، سنمرر مؤشرًا سلبيًا كبداية لكل من ' شريحة() '، و ' سلسلة فرعية () 'ومؤشر إيجابي كمؤشر النهاية.

مثال 1: تمرير مؤشر سلبي واحد (كمؤشر بداية) ومؤشر نهاية إيجابي

لنمرر قيمة سالبة واحدة كمؤشر البداية ومؤشر موجب واحد كمؤشر نهاية إلى طريقة slice (). وبالتالي ، ستعيد الوظيفة المذكورة سلسلة فارغة:

مقدار ثابت جملة = 'Linuxhint موقع مفيد للغاية' ؛
جملة. شريحة ( - 7 و 5 ) ؛

نتيجة لذلك ، يتم عرض السلسلة الفارغة كإخراج على وحدة التحكم:

من ناحية أخرى ، في ' سلسلة فرعية () '، إذا مرت قيمة سالبة واحدة كمؤشر البداية وتم تمرير قيمة موجبة واحدة كمؤشر النهاية ، فسيتم اعتبار مؤشر البداية على أنه' 0 'وإرجاع السلسلة الفرعية إلى فهرس النهاية:

مقدار ثابت جملة = 'Linuxhint موقع مفيد للغاية' ؛

جملة. سلسلة فرعية ( - 7 و 5 ) ؛

نتيجة لذلك ، يتم عرض الإخراج على وحدة التحكم:

مثال 2: تمرير مؤشر سلبي واحد فقط

أولاً ، سنصنع كائن كتابة ثابت باسم ' جملة 'وتمرير السلسلة:

مقدار ثابت جملة = 'Linuxhint موقع مفيد للغاية' ؛

استخدم ' شريحة() 'وتمرير فهرس سالب واحد للحصول على جزء السلسلة من نهاية السلسلة:

جملة. شريحة ( - 7 ) ؛

يمكن ملاحظة أن السلسلة الفرعية من نهاية السلسلة يتم إرجاعها كجزء من السلسلة:

ومع ذلك ، إذا مررنا نفس القيمة السلبية مثل وسيطة ' سلسلة فرعية () ”ستعيد نفس السلسلة كمخرج:

مقدار ثابت جملة = 'موقع Linuxhint مفيد جدًا' ؛
جملة. سلسلة فرعية ( - 7 ) ؛

هذا كل شيء عن String.slice و String.substring والاختلاف بينهما في JavaScript.

خاتمة

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