نسخ جزء من النص
تستخدم كل من الدالة substr، والدالة substring من دوال الكائن النصي في نسخ جزء من النص، ويكون ناتج كل من الوظيفتين هو الجزء من النص الذي تم نسخة، ولكن الاختلاف بينهما في المعامل الذي يوضع بين قوسي كل وظيفة.
فالدالة substring يتم وضع معاملين بين قوسيها المعامل الأول يمثل ترتيب الحرف الأول، وترتيب الحرف من النص الذي تريد نسخه في النص الأساسي، والمعامل الثاني يمثل ترتيب الحرف الأخير من النص الذي تريد نسخه من النص الأساسي، وفي حالة عدم وضع المعامل الثاني والذي يمثل ترتيب الحرف الأخير في النص الذي تريد نسخه من النص الأساسي يتم نسخ النص من بداية الحرف الممثل بالمعامل الأول وحتى نهاية النص.
فعلى سبيل المثال بالكود التالي يمكنك استخراج كلمة Java من كلمة JavaScriptباستخدام الدالة substring كما يلي، وذلك بوضع رتبة الحرف الأول والحرف الأخير من كلمة Java بين كلمة JavaScript.
Var myString= “JavaScript”;
Var mySubString = myString.substring(0.4);
Alert(mySubString);
ويلاحظ في الكود السابق أن عدد أحرف كلمة Java هو أربعة حروف فقط، وأن ترتيب الحرف الأخير في كلمة Java التي قمنا بنسخها من كلمة JavaScript هي 3 وليست 4 كما يوضح الجدول التالي، وبالرغم من ذلك تم وضع المعامل 4 بين قوسي الدالة substring كالمعامل الذي يمثل رتبة الحرف الأخير من الكلمة التي نقوم بنسخها من النص، والسبب في ذلك أن هذا الرقم الخامس وهو 4 هو المؤشر Marker الذي يشير إلى نهاية الكلمة.
ترتيب الحرف | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
الحرف | t | p | i | r | c | S | a | v | a | J |
والدالة substr أيضاً تقوم بنسخ جزء من النص، وتستخدم أيضاً معاملين بين قوسيها، المعامل الأول يمثل موضع أول حرف في النص الذي نقوم بنسخه بالنسبة للنص الأساسي، أما المعامل الثاني فيمثل عدد الأحرف التي تريد نسخها بداية من هذا الحرف، ولا يمثل رتبة الحرف الأخير من النص كما في الدالة substring. وفيما يلي الطريقة التي يتم بها نسخ كلمة Java من بين كلمة JavaScript.
Var myString= “JavaScript”;
Var mySubString= myString.substr(0,4);
Alert(mySubString);
والمعامل الثاني الذي يتم وضعه بين قوسي الدالة substr اختياري أيضاً، ففي حالة عدم وضع هذا المعامل تقوم الوظيفة بنسخ الجزء المتبقي من النص من بداية الحرف الذي يمثل رتبته المعامل الأول بين قوسي الدالة.