Python में टेक्स्ट डेटा संभालते समय, खासकर डेटा साइंस प्रोजेक्ट्स के डेटा क्लीनिंग और तैयारी चरणों में, टेक्स्ट को ट्रिम करना एक बुनियादी कार्य है। ट्रिमिंग स्ट्रिंग्स की शुरुआत और अंत से अनचाहे कैरेक्टर (जैसे व्हाइटस्पेस) हटाने में मदद करती है, जिससे आपका डेटा अधिक सुसंगत और विश्लेषण के लिए तैयार हो जाता है।
इस ट्यूटोरियल में, मैं आपको Python में स्ट्रिंग्स को ट्रिम करने के तीन मुख्य तरीकों—.strip(), .lstrip(), और .rstrip()—से रूबरू कराऊंगा, और उनके विविध वास्तविक-जीवन परिदृश्यों में उपयोगिता दिखाने के लिए विशेष उपयोग मामलों को कवर करूंगा।
Python में स्ट्रिंग ट्रिम करने के 3 तरीके
Python स्ट्रिंग्स को ट्रिम करने के लिए बिल्ट-इन मेथड्स प्रदान करता है, जिससे टेक्स्टुअल डेटा को साफ़ और प्रीप्रोसेस करना आसान हो जाता है। इन मेथड्स में शामिल हैं
.strip(): अग्र और पश्च (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।
.lstrip(): स्ट्रिंग के बाएँ हिस्से से अग्र (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।
.rstrip(): स्ट्रिंग के दाएँ हिस्से से पश्च (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।
इन मेथड्स की समझ से टेक्स्ट में बदलाव और तैयारी कुशलतापूर्वक हो पाती है, जो टेक्स्टुअल डेटा से जुड़े किसी भी डेटा साइंस कार्य के लिए महत्वपूर्ण है।
1. Python में .strip() का उपयोग करके स्ट्रिंग्स से अग्र और पश्च व्हाइटस्पेस हटाना
.strip() मेथड किसी स्ट्रिंग से दोनों सिरों पर मौजूद कैरेक्टर हटाने के लिए बनाया गया है। इसे सबसे अधिक व्हाइटस्पेस हटाने के लिए उपयोग किया जाता है। नीचे एक उदाहरण है, जब इसे स्ट्रिंग " I love learning Python! ". पर उपयोग किया जाता है।
text =" I love learning Python! "
trimmed_text = text.strip()print(trimmed_text)# Output: "I love learning Python!"संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
यह मेथड उन स्ट्रिंग्स को मानकीकृत करने में विशेष रूप से उपयोगी है जिनमें अग्र और पश्च व्हाइटस्पेस की मात्रा अलग-अलग हो सकती है।
2. Python में .lstrip() का उपयोग करके स्ट्रिंग्स से अग्र व्हाइटस्पेस हटाना
.lstrip() मेथड स्ट्रिंग के बाएँ हिस्से को टार्गेट करता है और अग्र कैरेक्टर हटाता है। डिफ़ॉल्ट रूप से यह व्हाइटस्पेस हटाता है, लेकिन इसे विशेष कैरेक्टर हटाने के लिए भी निर्देशित किया जा सकता है। यहाँ पिछले उदाहरण की उसी स्ट्रिंग " I love learning Python! " पर .lstrip() मेथड लागू किया गया है:
text =" I love learning Python! "
left_trimmed_text = text.lstrip()print(left_trimmed_text)# Output: "I love learning Python! "संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
.lstrip() तब उपयोगी है जब आपको उन स्ट्रिंग्स को साफ़ करना हो जो अनचाहे स्पेस या कैरेक्टर से शुरू होती हैं, जैसे नामों की सूचियाँ या श्रेणीबद्ध डेटा।
3. Python में .rstrip() का उपयोग करके स्ट्रिंग्स से पश्च व्हाइटस्पेस हटाना
.rstrip() मेथड .lstrip() का पूरक है और स्ट्रिंग के दाएँ हिस्से से पश्च कैरेक्टर हटाता है। इसमें किन कैरेक्टर को हटाना है, यह निर्दिष्ट करने की समान लचीलापन है। इसे ऊपर वाले ही उदाहरण पर इस प्रकार लागू किया गया है:
text =" I love learning Python! "
right_trimmed_text = text.rstrip()print(right_trimmed_text)# Output: " I love learning Python!"संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
.rstrip() का उपयोग तब करें जब आपको उन स्ट्रिंग्स से निपटना हो जिनके अंत में अनचाहे कैरेक्टर या स्पेस हों, जैसे trailing विराम-चिह्न या एनोटेशन।
Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटाना
Python के स्ट्रिंग ट्रिमिंग मेथड्स आपको यह निर्दिष्ट करने की अनुमति देते हैं कि स्ट्रिंग्स की शुरुआत और अंत से किन कैरेक्टर को हटाना है। यह क्षमता .strip(), .lstrip(), और .rstrip() मेथड्स में लचीलापन जोड़ती है, जिससे अधिक लक्षित स्ट्रिंग-क्लीनिंग ऑपरेशन संभव होते हैं।
हालाँकि, जैसा कि हम अपने उदाहरणों में देखेंगे, इन मेथड्स की अंतर्निहित सीमाओं को स्वीकार करना महत्वपूर्ण है: ये स्ट्रिंग के बीच से कैरेक्टर हटाने या अधिक जटिल पैटर्न-आधारित हटाने को संभालने में सक्षम नहीं हैं। ऐसे उन्नत जरूरतों के लिए, रेगुलर एक्सप्रेशन (regex) अधिक सुदृढ़ समाधान प्रदान करते हैं।
.strip() का उपयोग करके Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटाना
पहले, .strip() मेथड से शुरू करते हैं। .strip() मेथड को इस तरह कस्टमाइज़ किया जा सकता है कि यह केवल व्हाइटस्पेस ही नहीं बल्कि स्ट्रिंग के दोनों सिरों से विशिष्ट कैरेक्टर भी हटा दे। यहाँ एक उदाहरण है:
text ="!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')print(specific_char_trimmed)# Output: "I love learning Python"संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
अब कल्पना करें कि हमारी स्ट्रिंग वास्तव में "xxxyyy I love learning Python xxxyyy" है। चूँकि ”xxx” और ”yyy” दोनों ही स्ट्रिंग में अग्र और पश्च रूप में मौजूद हैं, इसलिए 'xy' कैरेक्टर निर्दिष्ट करके दोनों को हटाना संभव है। इसे क्रियान्वयन में देखें!
text ="xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')print(specific_chars_trimmed)# Output: " I love learning Python "संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
जैसा कि पहले उल्लेख किया गया, यह समझना महत्वपूर्ण है कि .strip() स्ट्रिंग के बीच से कैरेक्टर नहीं हटा सकता। उदाहरण के लिए, यदि हम जिस टेक्स्ट को स्ट्रिप कर रहे हैं वह "!!!I love learning!!! Python!!!" है—तो ऊपर की प्रक्रिया का आउटपुट ”I love learning!!! Python” होगा। अधिक जटिल हटाने के ऑपरेशंस के लिए, इस ट्यूटोरियल में बताए गए strip मेथड्स के बजाय रेगुलर एक्सप्रेशन देखना बेहतर है।
.lstrip() और .rstrip() का उपयोग करके Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटाना
यही बात .lstrip() और .rstrip() मेथड्स पर भी लागू होती है। नीचे .lstrip() और .rstrip() में क्रमशः विशिष्ट अग्र और पश्च कैरेक्टर हटाने के उदाहरण दिए गए हैं:
text ="!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')print(left_char_trimmed)# Output: "I love learning Python!!!"
right_char_trimmed = text.rstrip('!')print(right_char_trimmed)# Output: "!!!I love learning Python"संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
इसके अतिरिक्त, एकाधिक कैरेक्टर हटाने की यही तकनीक .lstrip() और .rstrip() पर भी लागू की जा सकती है
text ="xxxyyy I love learning Python xxxyyy"
left_chars_trimmed = text.lstrip('xy')print(left_chars_trimmed)# Output: " I love learning Python xxxyyy"
right_chars_trimmed = text.rstrip('xy')print(right_chars_trimmed)# Output: "xxxyyy I love learning Python"संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
स्ट्रिंग्स को ट्रिम करते समय प्रदर्शन संबंधी विचार
बड़े डेटासेट्स पर काम करते समय, स्ट्रिंग्स को कुशलतापूर्वक ट्रिम करना महत्वपूर्ण है। .strip(), .lstrip(), और .rstrip() O(n) समय जटिलता में काम करते हैं। हालाँकि, अत्यधिक बड़े डेटासेट्स के लिए, Pandas में वेक्टराइज़्ड ऑपरेशंस अधिक प्रभावी हो सकते हैं:
import pandas as pd
df = pd.DataFrame({"text":[" Data Science "," Machine Learning "]})
df["cleaned_text"]= df["text"].str.strip()print(df)संचालित द्वारा
Learn-by-Example एडिटर, प्रवेश के लिए Tab दबाएं। बाहर नेविगेट करने के लिए Escape और फिर Tab या Shift+Tab दबाएं।
स्ट्रिंग ट्रिमिंग और हेरफेर को समझना प्रभावी Python प्रोग्रामिंग के लिए आवश्यक है। जहाँ .strip(), .lstrip(), और .rstrip() मेथड्स बुनियादी जरूरतों को पूरा करते हैं, वहीं अधिक जटिल परिदृश्यों से निपटने के लिए रेगुलर एक्सप्रेशन में गहराई से जाना पड़ सकता है। आगे सीखने के लिए, हमारे रेगुलर एक्सप्रेशन पर ट्यूटोरियल देखें, या बेहतर होगा कि DataCamp के Natural Language Processing in Python स्किल ट्रैक से शुरुआत करें।
एडेल एक डेटा साइंस शिक्षक, वक्ता, और DataCamp में मीडिया के वीपी हैं। एडेल ने डेटा विश्लेषण, मशीन लर्निंग, और डेटा इंजीनियरिंग पर कई पाठ्यक्रम और लाइव प्रशिक्षण जारी किए हैं। वह संगठनों में डेटा कौशल और डेटा साक्षरता फैलाने, तथा तकनीक और समाज के संगम के प्रति उत्साही हैं। उनके पास डेटा साइंस और बिज़नेस एनालिटिक्स में एमएससी है। खाली समय में, आप उन्हें अपने बिल्ली लुई के साथ समय बिताते हुए पा सकते हैं।
FAQs
क्या मैं .strip(), .lstrip(), या .rstrip() का उपयोग करके किसी स्ट्रिंग से संख्यात्मक कैरेक्टर हटा सकता/सकती हूँ?⌄
हाँ, आप हटाने के लिए संख्यात्मक कैरेक्टर निर्दिष्ट कर सकते हैं। उदाहरण के लिए:
text ="12345Python12345"
trimmed_text = text.strip('12345')print(trimmed_text)# Output: "Python"संचालित द्वारा
टैब या न्यूलाइन जैसी मिश्रित व्हाइटस्पेस कैरेक्टर वाली स्ट्रिंग्स को .strip(), .lstrip(), और .rstrip() कैसे संभालते हैं?⌄
डिफ़ॉल्ट रूप से, ये मेथड्स सभी प्रकार के व्हाइटस्पेस हटाते हैं, जिनमें स्पेस, टैब (\t) और न्यूलाइन (\n) शामिल हैं। उदाहरण के लिए:
text ="\t\n Python Programming \n\t"
trimmed_text = text.strip()print(trimmed_text)# Output: "Python Programming"संचालित द्वारा
यदि मैं किसी खाली स्ट्रिंग पर .strip(), .lstrip(), या .rstrip() कॉल करूँ तो क्या होता है?⌄
यदि आप इन मेथड्स को किसी खाली स्ट्रिंग पर कॉल करते हैं, तो वे बिना किसी त्रुटि के खाली स्ट्रिंग ही लौटाते हैं। उदाहरण के लिए:
text =""
trimmed_text = text.strip()print(trimmed_text)# Output: ""संचालित द्वारा
Python में टेक्स्ट डेटा संभालते समय, खासकर डेटा साइंस प्रोजेक्ट्स के डेटा क्लीनिंग और तैयारी चरणों में, टेक्स्ट को ट्रिम करना एक बुनियादी कार्य है। ट्रिमिंग स्ट्रिंग्स की शुरुआत और अंत से अनचाहे कैरेक्टर (जैसे व्हाइटस्पेस) हटाने में मदद करती है, जिससे आपका डेटा अधिक सुसंगत और विश्लेषण के लिए तैयार हो जाता है।
इस ट्यूटोरियल में, मैं आपको Python में स्ट्रिंग्स को ट्रिम करने के तीन मुख्य तरीकों—
.strip(),.lstrip(), और.rstrip()—से रूबरू कराऊंगा, और उनके विविध वास्तविक-जीवन परिदृश्यों में उपयोगिता दिखाने के लिए विशेष उपयोग मामलों को कवर करूंगा।Python में स्ट्रिंग ट्रिम करने के 3 तरीके
Python स्ट्रिंग्स को ट्रिम करने के लिए बिल्ट-इन मेथड्स प्रदान करता है, जिससे टेक्स्टुअल डेटा को साफ़ और प्रीप्रोसेस करना आसान हो जाता है। इन मेथड्स में शामिल हैं
.strip(): अग्र और पश्च (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।.lstrip(): स्ट्रिंग के बाएँ हिस्से से अग्र (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।.rstrip(): स्ट्रिंग के दाएँ हिस्से से पश्च (डिफ़ॉल्ट रूप से व्हाइटस्पेस) कैरेक्टर हटाता है।इन मेथड्स की समझ से टेक्स्ट में बदलाव और तैयारी कुशलतापूर्वक हो पाती है, जो टेक्स्टुअल डेटा से जुड़े किसी भी डेटा साइंस कार्य के लिए महत्वपूर्ण है।
1. Python में
.strip()का उपयोग करके स्ट्रिंग्स से अग्र और पश्च व्हाइटस्पेस हटाना.strip()मेथड किसी स्ट्रिंग से दोनों सिरों पर मौजूद कैरेक्टर हटाने के लिए बनाया गया है। इसे सबसे अधिक व्हाइटस्पेस हटाने के लिए उपयोग किया जाता है। नीचे एक उदाहरण है, जब इसे स्ट्रिंग" I love learning Python! ".पर उपयोग किया जाता है।यह मेथड उन स्ट्रिंग्स को मानकीकृत करने में विशेष रूप से उपयोगी है जिनमें अग्र और पश्च व्हाइटस्पेस की मात्रा अलग-अलग हो सकती है।
2. Python में
.lstrip()का उपयोग करके स्ट्रिंग्स से अग्र व्हाइटस्पेस हटाना.lstrip()मेथड स्ट्रिंग के बाएँ हिस्से को टार्गेट करता है और अग्र कैरेक्टर हटाता है। डिफ़ॉल्ट रूप से यह व्हाइटस्पेस हटाता है, लेकिन इसे विशेष कैरेक्टर हटाने के लिए भी निर्देशित किया जा सकता है। यहाँ पिछले उदाहरण की उसी स्ट्रिंग" I love learning Python! "पर .lstrip() मेथड लागू किया गया है:.lstrip()तब उपयोगी है जब आपको उन स्ट्रिंग्स को साफ़ करना हो जो अनचाहे स्पेस या कैरेक्टर से शुरू होती हैं, जैसे नामों की सूचियाँ या श्रेणीबद्ध डेटा।3. Python में
.rstrip()का उपयोग करके स्ट्रिंग्स से पश्च व्हाइटस्पेस हटाना.rstrip()मेथड.lstrip()का पूरक है और स्ट्रिंग के दाएँ हिस्से से पश्च कैरेक्टर हटाता है। इसमें किन कैरेक्टर को हटाना है, यह निर्दिष्ट करने की समान लचीलापन है। इसे ऊपर वाले ही उदाहरण पर इस प्रकार लागू किया गया है:.rstrip()का उपयोग तब करें जब आपको उन स्ट्रिंग्स से निपटना हो जिनके अंत में अनचाहे कैरेक्टर या स्पेस हों, जैसे trailing विराम-चिह्न या एनोटेशन।Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटाना
Python के स्ट्रिंग ट्रिमिंग मेथड्स आपको यह निर्दिष्ट करने की अनुमति देते हैं कि स्ट्रिंग्स की शुरुआत और अंत से किन कैरेक्टर को हटाना है। यह क्षमता
.strip(),.lstrip(), और.rstrip()मेथड्स में लचीलापन जोड़ती है, जिससे अधिक लक्षित स्ट्रिंग-क्लीनिंग ऑपरेशन संभव होते हैं।हालाँकि, जैसा कि हम अपने उदाहरणों में देखेंगे, इन मेथड्स की अंतर्निहित सीमाओं को स्वीकार करना महत्वपूर्ण है: ये स्ट्रिंग के बीच से कैरेक्टर हटाने या अधिक जटिल पैटर्न-आधारित हटाने को संभालने में सक्षम नहीं हैं। ऐसे उन्नत जरूरतों के लिए, रेगुलर एक्सप्रेशन (regex) अधिक सुदृढ़ समाधान प्रदान करते हैं।
.strip()का उपयोग करके Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटानापहले,
.strip()मेथड से शुरू करते हैं। .strip() मेथड को इस तरह कस्टमाइज़ किया जा सकता है कि यह केवल व्हाइटस्पेस ही नहीं बल्कि स्ट्रिंग के दोनों सिरों से विशिष्ट कैरेक्टर भी हटा दे। यहाँ एक उदाहरण है:अब कल्पना करें कि हमारी स्ट्रिंग वास्तव में
"xxxyyy I love learning Python xxxyyy"है। चूँकि”xxx”और”yyy”दोनों ही स्ट्रिंग में अग्र और पश्च रूप में मौजूद हैं, इसलिए'xy'कैरेक्टर निर्दिष्ट करके दोनों को हटाना संभव है। इसे क्रियान्वयन में देखें!जैसा कि पहले उल्लेख किया गया, यह समझना महत्वपूर्ण है कि
.strip()स्ट्रिंग के बीच से कैरेक्टर नहीं हटा सकता। उदाहरण के लिए, यदि हम जिस टेक्स्ट को स्ट्रिप कर रहे हैं वह"!!!I love learning!!! Python!!!"है—तो ऊपर की प्रक्रिया का आउटपुट”I love learning!!! Python”होगा। अधिक जटिल हटाने के ऑपरेशंस के लिए, इस ट्यूटोरियल में बताए गए strip मेथड्स के बजाय रेगुलर एक्सप्रेशन देखना बेहतर है।.lstrip()और.rstrip()का उपयोग करके Python में स्ट्रिंग से विशिष्ट कैरेक्टर हटानायही बात
.lstrip()और.rstrip()मेथड्स पर भी लागू होती है। नीचे.lstrip()और.rstrip()में क्रमशः विशिष्ट अग्र और पश्च कैरेक्टर हटाने के उदाहरण दिए गए हैं:इसके अतिरिक्त, एकाधिक कैरेक्टर हटाने की यही तकनीक
.lstrip()और.rstrip()पर भी लागू की जा सकती हैPython 3.9 में नए स्ट्रिंग ट्रिमिंग मेथड्स
Python 3.9 ने
str.removeprefix()औरstr.removesuffix()पेश किए, जो ज्ञात प्रीफिक्स या सफ़िक्स को स्पष्ट रूप से हटाते हैं।प्रीफिक्स हटाना
removeprefix()का उपयोग करकेसफ़िक्स हटाना
removesuffix()का उपयोग करकेस्ट्रिंग्स को ट्रिम करते समय प्रदर्शन संबंधी विचार
बड़े डेटासेट्स पर काम करते समय, स्ट्रिंग्स को कुशलतापूर्वक ट्रिम करना महत्वपूर्ण है।
.strip(),.lstrip(), और.rstrip()O(n) समय जटिलता में काम करते हैं। हालाँकि, अत्यधिक बड़े डेटासेट्स के लिए, Pandas में वेक्टराइज़्ड ऑपरेशंस अधिक प्रभावी हो सकते हैं:निष्कर्ष
स्ट्रिंग ट्रिमिंग और हेरफेर को समझना प्रभावी Python प्रोग्रामिंग के लिए आवश्यक है। जहाँ
.strip(),.lstrip(), और.rstrip()मेथड्स बुनियादी जरूरतों को पूरा करते हैं, वहीं अधिक जटिल परिदृश्यों से निपटने के लिए रेगुलर एक्सप्रेशन में गहराई से जाना पड़ सकता है। आगे सीखने के लिए, हमारे रेगुलर एक्सप्रेशन पर ट्यूटोरियल देखें, या बेहतर होगा कि DataCamp के Natural Language Processing in Python स्किल ट्रैक से शुरुआत करें।