python - পাইথন একটি স্ট্রিং সব হোয়াইটস্পেস সরান




trim removing-whitespace (6)

আপনি যদি নেতৃস্থানীয় এবং শেষ স্থানগুলি সরাতে চান তবে str.strip() ব্যবহার করুন:

sentence = ' hello  apple'
sentence.strip()
>>> 'hello  apple'

আপনি যদি সমস্ত স্পেস সরাতে চান তবে str.replace() ব্যবহার করুন:

sentence = ' hello  apple'
sentence.replace(" ", "")
>>> 'helloapple'

যদি আপনি সদৃশ স্পেস অপসারণ করতে চান তবে str.split() ব্যবহার করুন:

sentence = ' hello  apple'
" ".join(sentence.split())
>>> 'hello apple'

আমি উভয় প্রান্তে, এবং শব্দের মধ্যে একটি স্ট্রিং থেকে সব হোয়াইটস্পেস নিষ্কাশন করতে চান।

আমার এই পাইথন কোড আছে:

def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

কিন্তু যে শুধুমাত্র স্ট্রিং উভয় পক্ষের হোয়াইটস্পেস নির্মূল করে। আমি কিভাবে সব হোয়াইটস্পেস অপসারণ করবেন?


উপরন্তু, strip কিছু বৈচিত্র আছে:

একটি স্ট্রিংয়ের BEGINNING এবং END এ স্পেসগুলি সরান:

sentence= sentence.strip()

স্ট্রিংয়ের BEGINNING এ স্পেসগুলি সরান:

sentence = sentence.lstrip()

একটি স্ট্রিং এর END মধ্যে স্পেস অপসারণ করুন:

sentence= sentence.rstrip()

সমস্ত তিন স্ট্রিং ফাংশন strip lstrip , এবং rstrip স্ট্রিং স্ট্রিং পরামিতি নিতে পারেন ডিফল্ট সব সাদা স্থান হচ্ছে। যখন আপনি বিশেষ কিছু দিয়ে কাজ করছেন তখন এটি সহায়ক হতে পারে, উদাহরণস্বরূপ, আপনি শুধুমাত্র স্পেসগুলি অপসারণ করতে পারেন তবে নতুন নয়:

" 1. Step 1\n".strip(" ")

অথবা আপনি একটি স্ট্রিং তালিকা পড়া যখন অতিরিক্ত কমা অপসারণ করতে পারে:

"1,2,3,".strip(",")

শুরু এবং শেষ থেকে হোয়াইটস্পেস অপসারণের জন্য, strip ব্যবহার করুন।

>> "  foo bar   ".strip()
"foo bar"

সাবধান হও:

strip একটি rstrip এবং lstrip (নেতৃস্থানীয় এবং পিছনে স্থান, ট্যাব, আয় এবং ফর্ম ফিড অপসারণ, কিন্তু এটি স্ট্রিং মাঝখানে তাদের অপসারণ না)।

আপনি যদি শুধুমাত্র স্পেস এবং ট্যাবগুলি প্রতিস্থাপন করেন তবে আপনি লুকানো CRLF গুলির সাথে শেষ করতে পারেন যা আপনি খুঁজছেন যা মিলছে বলে মনে হয় তবে একই নয়।


শুধুমাত্র স্পেস ব্যবহার করতে str.replace() ব্যবহার করুন:

sentence = sentence.replace(' ', '')

সমস্ত হোয়াইটস্পেস অক্ষর (স্থান, ট্যাব, নতুন লাইন, ইত্যাদি) মুছে ফেলার জন্য আপনি str.split() ব্যবহার করতে পারেন তারপর join :

sentence = ''.join(sentence.split())

অথবা একটি নিয়মিত অভিব্যক্তি:

import re
pattern = re.compile(r'\s+')
sentence = re.sub(pattern, '', sentence)

আপনি শুধুমাত্র শুরু এবং শেষ থেকে হোয়াইটস্পেস অপসারণ করতে চান তাহলে আপনি str.strip() ব্যবহার করতে পারেন:

sentence = sentence.strip()

আপনি কেবল স্ট্রিংয়ের শুরু থেকেই হোয়াইটস্পেসটি সরাতে lstrip ব্যবহার করতে পারেন এবং স্ট্রিংয়ের শেষে হোয়াইট স্পেস অপসারণ করতে rstrip করতে পারেন।


import re    
sentence = ' hello  apple'
re.sub(' ','',sentence) #helloworld (remove all spaces)
re.sub('  ',' ',sentence) #hello world (remove double spaces)




removing-whitespace