মডিউল পাঠ (3/4)
একটি কলব্যাক দিয়ে প্রতিস্থাপন করুন
যদি একটি প্রতিস্থাপন স্ট্রিং যথেষ্ট না হয়, একটি ফাংশন পাস করুন:
str.replace(regex, (match, ...groups) => string) কলব্যাক আহ্বান করা হয়
প্রতিটি ম্যাচের জন্য এবং এর রিটার্ন মান প্রতিস্থাপন হয়।
'prezzi: 10 20 30'.replace(/\d+/g, (m) => Number(m) * 1.22);
// "prezzi: 12.2 24.4 36.6" (22% VAT)কলব্যাক আর্গুমেন্ট
str.replace(regex, (match, p1, p2, ..., offset, original, groups) => ...);match-- পুরো ম্যাচ।p1,p2, \u2026 -- ক্রমানুসারে কপচার করা গ্রুপ।offset-- মূল স্ট্রিংয়ে মিলের সূচী।original-- পুরো স্ট্রিং।groups-- নামিত গোষ্ঠী সহ বস্তু (যদি থাকে)।
'2024-03-15'.replace(/(\d{4})-(\d{2})-(\d{2})/, (_, a, m, g) => `${g}/${m}/${a}`);
// "15/03/2024"কলব্যাক আপনাকে নিবিষ্ট ক্ষমতা দেয়: পার্সিং, লুকআপ, কনভার্সন, HTML এস্কেপিং\u2026 যা একটি স্ট্যাটিক স্ট্রিং করতে পারে না।
কলব্যাক প্রতিস্থাপনে উন্নত আর্গুমেন্ট
কলব্যাক ফাংশনটি বেশ কয়েকটি আর্গুমেন্ট গ্রহণ করে: সম্পূর্ণ মিল, প্রতিটি ক্যাপচার করা গ্রুপ, পুরো পাঠ্যের মধ্যে ম্যাচের অফসেট এবং মূল ইনপুট স্ট্রিং। এটি পরিশীলিত প্রসঙ্গ-ভিত্তিক রূপান্তর যুক্তি সক্ষম করে।
চেষ্টা করে দেখুন
পাঠ্যের প্রতিটি পূর্ণসংখ্যা খুঁজুন। (প্রতিস্থাপনে আপনি এটি দ্বিগুণ করতে `(m) => সংখ্যা(m) * 2` পাস করবেন।)
ইঙ্গিত দেখান
প্রতিটি পূর্ণসংখ্যাকে একক মিল হিসাবে ক্যাপচার করতে \\d+ (এক বা একাধিক সংখ্যা) ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
প্রতিটি ইমেল খুঁজুন (সরলীকৃত ফর্ম: অক্ষর/সংখ্যা/বিন্দু/আন্ডারস্কোর @ ডোমেন)। এইভাবে একটি কলব্যাক এটিকে `***@ডোমেইন`-এ রিডাক্ট করতে পারে।
ইঙ্গিত দেখান
ব্যবহারকারীর নাম এবং ডোমেনে বিন্দু গ্রহণ করতে ক্লাসটিকে [\\w.]+ এ প্রসারিত করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
Match every word consisting of letters in the text, so it can be transformed to uppercase via a callback.
ইঙ্গিত দেখান
[a-zA-Z]+ সহ সাধারণ অক্ষর খুঁজুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ