रेईईपीीटेड कैरेक्टर्स
फिर से अपने sentiment analysis पर लौटते हैं! आपका अगला काम ट्वीट्स में आने वाले लंबाए गए (elongated) शब्दों को बदलना है। यहाँ elongated शब्द वह है जिसमें कोई कैरेक्टर लगातार दो या उससे अधिक बार दोहराया गया हो। जैसे: "Awesoooome".
इन शब्दों को बदलना ज़रूरी है, क्योंकि कोई classifier उन्हें मूल शब्दों से अलग टर्म मान लेगा और उनकी फ़्रीक्वेंसी कम हो जाएगी।
इन्हें ढूँढने के लिए, आप capturing groups का उपयोग करेंगे और उन्हें नंबरों से वापस रेफ़रेंस करेंगे। जैसे \4.
यदि आप Awesoooome का मैच ढूँढना चाहते हैं, तो पहले Awes को कैप्चर करें। फिर o को मैच करें और उसी कैरेक्टर को वापस रेफ़रेंस करें, और उसके बाद me.
तीन ट्वीट्स के टेक्स्ट वाली सूची sentiment_analysis और re मॉड्यूल आपकी सेशन में लोड हैं। आप IPython Shell में डेटा देखने के लिए print() का उपयोग कर सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Regular Expressions
अभ्यास निर्देश
- वर्णित अनुसार elongated शब्द को मैच करने के लिए रेगुलर एक्सप्रेशन पूरा करें।
- सूची
sentiment_analysisके एलिमेंट्स में खोजें कि क्या उनमें elongated शब्द हैं। परिणाम कोmatch_elongatedमें असाइन करें। - कैप्चर किए गए ग्रुप नंबर शून्य को वैरिएबल
elongated_wordमें असाइन करें। - वैरिएबल
elongated_wordमें मौजूद परिणाम को प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Complete the regex to match an elongated word
regex_elongated = r"____(____)____\w*"
for tweet in sentiment_analysis:
# Find if there is a match in each tweet
match_elongated = re.____(____, ____)
if match_elongated:
# Assign the captured group zero
elongated_word = match_elongated.____(____)
# Complete the format method to print the word
print("Elongated word found: {____}".format(word=____))
else:
print("No elongated word found")