تُعدُّ السلاسل النصية أساسية في جافاسكريبت، حيث تعمل كمتواليات من الأحرف لتخزين ومعالجة النصوص. يستكشف هذا البرنامج التعليمي تقنيات معالجة السلاسل النصية الأساسية.
محتويات الجدول
دمج السلاسل النصية
يُعدُّ دمج السلاسل النصية أمراً بالغ الأهمية. توفر جافاسكريبت عدة أساليب:
1. عامل التشغيل +
: أبسط طريقة. يُدمج عامل التشغيل +
السلاسل النصية مباشرةً.
let str1 = "Hello";
let str2 = " World!";
let combined = str1 + str2; // combined is "Hello World!"
console.log(combined);
2. القوالب الحرفية (علامات التشكيل العكسية): تم تقديم القوالب الحرفية في ES6، وهي توفر قابلية قراءة محسنة، خاصة عند دمج المتغيرات.
let name = "Alice";
let greeting = `Hello, ${name}!`; // greeting is "Hello, Alice!"
console.log(greeting);
let age = 30;
let message = `My name is ${name}, and I am ${age} years old.`;
console.log(message);
تدمج القوالب الحرفية التعبيرات بسلاسة داخل السلاسل النصية باستخدام ${expression}
، مما يحسن وضوح التعليمات البرمجية.
طرق السلاسل النصية الأساسية
توفر جافاسكريبت مجموعة غنية من طرق السلاسل النصية المُدمجة:
length
: تُرجع طول السلسلة النصية (عدد الأحرف).toUpperCase()
: تُحوّل إلى أحرف كبيرة.toLowerCase()
: تُحوّل إلى أحرف صغيرة.substring(startIndex, endIndex)
: تستخرج سلسلة فرعية (endIndex
مُستبعد).slice(startIndex, endIndex)
: مشابهة لـsubstring
، لكنها تدعم المؤشرات السالبة (العد من النهاية).indexOf(searchValue, fromIndex)
: تجد أول ظهور لقيمة؛ تُرجع -1 إذا لم تُعثر عليها.lastIndexOf(searchValue, fromIndex)
: تجد آخر ظهور لقيمة؛ تُرجع -1 إذا لم تُعثر عليها.replace(searchValue, newValue)
: تستبدل أول ظهور لقيمة.replaceAll(searchValue, newValue)
: تستبدل جميع ظهورات قيمة.trim()
: تزيل المسافات البيضاء من كلا الطرفين.split(separator)
: تُقسّم السلسلة النصية إلى مصفوفة من السلاسل الفرعية بناءً على الفاصل.charAt(index)
: تُرجع الحرف في مؤشر محدد.charCodeAt(index)
: تُرجع قيمة يونيكود للحرف في مؤشر محدد.
معالجة السلاسل النصية المتقدمة
إلى جانب الأساسيات، استكشف تقنيات أكثر تقدماً:
التعبيرت النمطية: استخدم التعبيرات النمطية (regex) لمطابقة الأنماط ومعالجتها بقوة. تعتبر طرق مثل match()
و search()
و replace()
(مع regex كحجة أولى) و split()
(مع regex كفاصل) لا تقدر بثمن للعمليات المعقدة على السلاسل النصية.
let str = "The quick brown fox jumps over the lazy dog.";
let result = str.match(/bw{5}b/g); // يطابق جميع الكلمات المكونة من 5 أحرف
console.log(result); // الإخراج: ['quick', 'brown', 'jumps']
إدخال السلاسل النصية مع الدوال: اجمع بين القوالب الحرفية والدوّال لإنشاء سلاسل نصية ديناميكية.
function formatDate(date) {
return date.toLocaleDateString();
}
let today = new Date();
let message = `Today's date is: ${formatDate(today)}`;
console.log(message);