আমি টাইপস্ক্রিপ্টে একটি পাইপ তৈরি করার চেষ্টা করছিলাম যা একটি পাস্কেলকেস স্ট্রিংকে বিভক্ত করবে, তবে এটি খুব ভাল হবে যদি এটি অঙ্কগুলিতেও বিভক্ত হয়। আমি এটিও চাই যে এটি ক্রমাগত মূলধনীতে বিভক্ত হয়। আমার এই পাইপটি দুর্দান্ত রয়েছে, এটি কেবল ক্রোমে কাজ করে কেবল ফায়ারফক্সে না, স্পষ্টতই কেবল ক্রোমের চেহারা ব্যাক সমর্থন করে। চেহারা ব্যাক ছাড়া এটি কীভাবে সম্পাদন করতে পারে?
transform(value: string): string {
let extracted = '';
if (!value) {
return extracted;
}
const regExSplit = value
.split(new RegExp('(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[0-9])(?=[A-Z][a-z])|(?<=[a-zA-Z])(?=[0-9])'));
for (let i = 0; i < regExSplit.length; i++) {
if (i !== regExSplit.length - 1) {
extracted += `${regExSplit[i]} `;
} else {
extracted += regExSplit[i];
}
}
return extracted;
}
সুতরাং উদাহরণস্বরূপ একটি স্ট্রিং ANet15Amountরূপান্তর করা উচিত A Net 15 Amount। উপরের এই রেজেক্সটি একটি উট কেস স্ট্রিংকেও বিভক্ত করবে, তবে এটি বিবেচনা করার প্রয়োজন নেই।
(?!^)([A-Z]|\d+)বিবিহিমাহ্মাহিরির প্রথম স্থান এড়িয়ে চলে এবং ট্রিমের প্রয়োজন হয় না।
.replace(/([A-Z]|\d+)/g, " $1").trim();