আপার কেস অক্ষরে জাভাস্ক্রিপ্ট বিভক্ত স্ট্রিং


106

আপার কেস অক্ষর দ্বারা আপনি জাভাস্ক্রিপ্টে একটি স্ট্রিংকে একটি অ্যারেতে কীভাবে বিভক্ত করবেন?

সুতরাং আমি বিভক্ত করতে চান:

'ThisIsTheStringToSplit'

মধ্যে

('This', 'Is', 'The', 'String', 'To', 'Split')

এই সমস্যার সমাধানের সন্ধানে কিছু লোকের জন্য এটি দরকারী হয়ে উঠতে পারে: stackoverflow.com/a/25732260/1454888
আগস্টো ব্যারেটো

উত্তর:


222

আমি এই .match()মত এটি করতে হবে:

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);

এটি এর মতো একটি অ্যারে তৈরি করবে:

['This', 'Is', 'The', 'String', 'To', 'Split']

সম্পাদনা করুন: যেহেতু string.split()পদ্ধতিটি রেজেক্সকেও সমর্থন করে এটি এ জাতীয়ভাবে অর্জন করা যেতে পারে

'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters

এটি মন্তব্য থেকেও সমস্যার সমাধান করবে:

"thisIsATrickyOne".split(/(?=[A-Z])/);

47
এটি একক বড় হাতের অক্ষর খুঁজে পাবে না। আমি নিম্নলিখিতটি পরামর্শ দিই: "thisIsATrickyOne".match(/([A-Z]?[^A-Z]*)/g).slice(0,-1)
অ্যান্ড্রুমু

18
.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")

এটির পাশাপাশি সংখ্যাগুলিও হ্যান্ডেল করা উচিত .. শেষের দিকে যোগদানের ফলে সমস্ত অ্যারে আইটেমকে একটি বাক্যে যুক্ত করে তোলা যদি এটিই আপনি খুঁজছেন

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")

আউটপুট

"This Is The String To Split"

এটি নিখুঁত। তবে এটি যে কেউ ব্যবহার করছে তাদের নিম্নলিখিত ক্ষেত্রে সাবধান হওয়া উচিত: 'ThisIs8TheSt3ringToSplit'.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")আউটপুট আসবে This Is 8 The St 3 To Split, এর ringপরে ছোট কেস স্ট্রিং ( ) বাদ দিবে 3
ডায়াবলো

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.