কম্পিউটার

পাইথনের সাথে একাধিক ডিলিমিটারে স্ট্রিংগুলি কীভাবে বিভক্ত করবেন?


সমস্যা

আপনাকে একটি স্ট্রিংকে ক্ষেত্রগুলিতে বিভক্ত করতে হবে, কিন্তু সীমানাগুলি পুরো স্ট্রিং জুড়ে সামঞ্জস্যপূর্ণ নয়৷

সমাধান

আপনি পাইথনে একাধিক ডিলিমিটারের একটি স্ট্রিং বা স্ট্রিং বিভক্ত করতে পারেন এমন একাধিক উপায় রয়েছে। সবচেয়ে এবং সহজ পদ্ধতি হল split() পদ্ধতি ব্যবহার করা, তবে, এটি সাধারণ কেসগুলি পরিচালনা করার জন্য বোঝানো হয়৷

re.split() is more flexible than the normal `split()` method in handling complex string scenarios.

re.split() দিয়ে আপনি বিভাজকের জন্য একাধিক প্যাটার্ন নির্দিষ্ট করতে পারেন। সমাধানে দেখানো হয়েছে, বিভাজকটি হয় ahyphen(-), অথবা সাদা স্থান( ), অথবা কমা(,) অনুসরণ করা মান। রেগুলার এক্সপ্রেশন ডকুমেন্টেশন এখানে পাওয়া যাবে।

যখনই সেই প্যাটার্নটি পাওয়া যায়, পুরো ম্যাচটি ম্যাচের উভয় পাশে থাকা ক্ষেত্রগুলির মধ্যে বিভাজনকারী হয়ে যায়৷

ডিলিমিটারের মধ্যে শুধুমাত্র টেক্সট এক্সট্রাক্ট করুন (কোনও ডিলিমিটার নেই)।

উদাহরণ

import re
tennis_greats = 'Roger-federer, Rafael nadal, Novak Djokovic,Andy murray'
""""
#-----------------------------------------------------------------------------
# Scenario 1 - Output the players
# Input - String with multiple delimiters ( - , white space)
# Code - Specify the delimters in []
#-----------------------------------------------------------------------------
"""
players = re.split(r'[-,\s]\s*',tennis_greats)

আউটপুট

print(f" The output is - {players}")

আউটপুট হল -

['Roger', 'federer', 'Rafael', 'nadal', 'Novak', 'Djokovic', 'Andy', 'murray']

ডিলিমিটারের সাথে ডিলিমিটারের মধ্যে টেক্সট বের করুন

উদাহরণ

import re
tennis_greats = 'Roger-federer, Rafael nadal, Novak Djokovic,Andy murray'
""""
#-----------------------------------------------------------------------------
# Scenario 2 - Output the players and the delimiters
# Input - String with multiple delimiters ( - , white space)
# Code - Specify the delimters between pipe (|)
#-----------------------------------------------------------------------------
"""
players = re.split(r'(-|,|\s)\s*',tennis_greats)

আউটপুট

print(f" The output is -{players}")

আউটপুট হল -

['Roger', '-', 'federer', ',', 'Rafael', ' ', 'nadal', ',', 'Novak', ' ', 'Djokovic', ',', 'Andy', ' ', 'murray']

  1. পাইথন স্প্লিট() কিভাবে ব্যবহার করবেন

  2. কিভাবে Python এ একাধিক কলাম দ্বারা CSV সাজাতে হয়?

  3. বোকেহ (পাইথন) এর চিত্রগুলির সাথে কীভাবে কাজ করবেন?

  4. এক্সেলে একাধিক ডিলিমিটার সহ পাঠ্যকে কলামে কীভাবে রূপান্তর করবেন