طريقة String replace ()

اكتشف كل شيء عن طريقة استبدال JavaScript () لسلسلة

يجدأولحدوثstr1في السلسلة الحالية ويستبدلها بـstr2.

تُرجع سلسلة جديدة دون تغيير السلسلة الأصلية.

'JavaScript'.replace('Java', 'Type') //'TypeScript'

يمكنك تمرير ملفتعبير عاديكالوسيطة الأولى:

'JavaScript'.replace(/Java/, 'Type') //'TypeScript'

replace()سيحل محل فقطأولالتكرار ، إلا إذا استخدمت regex كسلسلة بحث ، وقمت بتحديد (/g) اختيار:

'JavaScript JavaX'.replace(/Java/g, 'Type') //'TypeScript TypeX'

يمكن أن تكون المعلمة الثانية دالة. سيتم استدعاء هذه الوظيفة عند العثور على المطابقة (أو من أجلكلmatch foundm في حالة استخدام regex عالمي/g) ، مع عدد من الحجج:

  • السلسلة التي تطابق النمط
  • عدد صحيح يحدد الموضع داخل السلسلة حيث حدثت المطابقة
  • السلسلة

ستحل قيمة الإرجاع للدالة محل الجزء المطابق من السلسلة.

مثال:

'JavaScript'.replace(/Java/, (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

يعمل هذا أيضًا مع السلاسل العادية ، وليس فقط regexes:

'JavaScript'.replace('Java', (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

في حالة وجودمجموعات الاستيلاء، سيتم تمرير هذه القيم كوسائط بعد معلمة المطابقة مباشرة:

'2015-01-02'.replace(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/, (match, year, month, day, index, originalString) => {
  console.log(match, year, month, day, index, originalString)
  return 'Test'
}) //Test

المزيد من دروس js: