String Methods Part2

1- indexOf(value, startIndex = 0)

ترجع أول موقع (فهرس) يظهر فيه النص داخل السلسلة.

إذا لم يتم العثور على النص → تُرجع -1.

مثال:

let str1 = "Hello World";
console.log(str1.indexOf("W")); // 6
console.log(str1.indexOf("o")); // 4 (أول ظهور لـ o)
Dart

2- lastIndexOf(value, startIndex = str.length)

ترجع آخر موضع يظهر فيه النص داخل السلسلة.

أيضًا تُرجع -1 إن لم يتم العثور عليه.

مثال:

console.log(str1.lastIndexOf("o")); // 7 (آخر ظهور لـ o)
Dart

3- slice(start, end)

تقطع جزءًا من السلسلة من start إلى end (غير مشمولة).

يقبل أرقام سالبة:

  • -1 تعني آخر حرف، -2 قبل الأخير، وهكذا.

مثال:

console.log(str1.slice(0, 5)); // "Hello"
console.log(str1.slice(-5));   // "World"
Dart

4- split(separator)

تقسم السلسلة إلى مصفوفة حسب الفاصل (separator).

إذا كان الفاصل " " → يتم التقسيم حسب الفراغات.

إذا كان "" → يتم تقسيم السلسلة إلى أحرف.

مثال:

console.log(str1.split(" ")); // ["Hello", "World"]
console.log(str1.split(""));  // ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]
Dart

5- substring(start, end)

تقطع النص بين start و end (غير مشمولة).

إذا أدخلت قيمة سالبة → يتم اعتبارها كـ 0.

مثال:

console.log(str1.substring(0, 5));  // "Hello"
console.log(str1.substring(-3, 5)); // "Hello" (لأن -3 تعتبر 0)
Dart

6- substr(start, length)

تقطع جزءًا من السلسلة ابتداءً من start بطول length.

مختلفة عن substring و slice لأنها تعتمد على الطول بدل النهاية.

مثال:

console.log(str1.substr(6, 3)); // "Wor"
Dart

7- startsWith(value, startIndex = 0)

ترجع true إذا كانت السلسلة تبدأ بالقيمة المحددة، من الموضع المعطى

مثال:

console.log(str1.startsWith("Hello")); // true
console.log(str1.startsWith("World", 6)); // true
Dart

8- endsWith(value, length = str.length)

ترجع true إذا كانت السلسلة تنتهي بالقيمة المحددة.

يمكن تحديد طول افتراضي لتحديد نقطة نهاية النظر.

مثال:

console.log(str1.endsWith("World")); // true
console.log(str1.endsWith("Hello", 5)); // true (تنظر فقط لأول 5 حروف)
Dart

9- includes(value, startIndex = 0)

تفحص ما إذا كانت السلسلة النصية تحتوي على جزء معين (value).
ترجع true إذا تم العثور عليه، و false إن لم يكن موجودًا.

طريقة الكتابة:

string.includes(value, startIndex);
////////////////////////
value: الجزء الذي تريد البحث عنه (إجباري).

startIndex: المكان الذي يبدأ منه البحث (اختياري، الافتراضي هو 0).
Dart

مثال:

let message = "Welcome to JavaScript";

console.log(message.includes("Java"));      // true
console.log(message.includes("java"));      // false (الحالة Case-sensitive)
console.log(message.includes("Welcome", 1)); // false (بدأ من بعد "Welcome")
JavaScript

10- repeat(count)

🧩 الوظيفة:

تُكرر السلسلة النصية عددًا معينًا من المرات وترجع سلسلة جديدة تحتوي على التكرار.

⚙️ طريقة الاستخدام:
string.repeat(count);
JavaScript

count: عدد مرات التكرار، يجب أن يكون عددًا صحيحًا ≥ 0.

let star = "*";

console.log(star.repeat(5));      // *****  
console.log("JS ".repeat(3));     // JS JS JS 
JavaScript

🔸 إذا مررت 0 → سترجع سلسلة فارغة ""
🔸 إذا مررت عددًا عشريًا → سيتم تقريبه للأسفل.

console.log("Hi".repeat(2.8)); // "HiHi"
JavaScript

11- concat()

تدمج سلسلتين أو أكثر وتعيد سلسلة جديدة.

let a = "Hello";
let b = "World";
console.log(a.concat(" ", b)); // Hello World
JavaScript

12- replace(searchValue, newValue)

تستبدل جزء من النص بقيمة جديدة (تستبدل أول ظهور فقط).

let txt = "I love PHP";
console.log(txt.replace("PHP", "JavaScript")); // I love JavaScript
JavaScript