समस्या
आपको एक स्ट्रिंग को फ़ील्ड में विभाजित करने की आवश्यकता है, लेकिन सीमांकक पूरे स्ट्रिंग में संगत नहीं हैं।
समाधान
कई तरीके हैं जिनसे आप अजगर में एक से अधिक सीमांकक की एक स्ट्रिंग या तार को विभाजित कर सकते हैं। स्प्लिट () पद्धति का उपयोग करने के लिए सबसे आसान और आसान तरीका है, हालांकि, यह साधारण मामलों को संभालने के लिए है।
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']