কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিং থেকে নন-প্রিন্টেবল ক্যারেক্টার সরিয়ে ফেলা


আপনার যদি শুধু ASCII ক্যারেক্টার থাকে এবং নন-প্রিন্টেবল ক্যারেক্টারগুলো সরাতে চান, তবে সবচেয়ে সহজ পদ্ধতি হলো string.printable ব্যবহার করে সেগুলো ফিল্টার আউট করা। উদাহরণস্বরূপ:

>>> import string
>>> filter(lambda x: x in string.printable, '\x01string')
'string'

0x01 প্রিন্ট হয়নি কারণ এটি প্রিন্টযোগ্য ক্যারেক্টার নয়। আপনার যদি ইউনিকোড সাপোর্টও প্রয়োজন হয়, তবে unicodedata মডিউল এবং রেজেক্স ব্যবহার করে এই ক্যারেক্টারগুলো সরাতে হবে।

উদাহরণ

import sys, unicodedata, re
# সকল ইউনিকোড ক্যারেক্টার পান
all_chars = (unichr(i) for i in xrange(sys.maxunicode))
# সকল নন-প্রিন্টেবল কন্ট্রোল ক্যারেক্টার পান
control_chars = ''.join(c for c in all_chars if unicodedata.category(c) == 'Cc')
# উপরের ক্যারেক্টারগুলো দিয়ে রেজেক্স তৈরি করুন
control_char_re = re.compile('[%s]' % re.escape(control_chars))
# মূল স্ট্রিং-এ এই ক্যারেক্টারগুলোকে খালি স্ট্রিং দিয়ে সাবসিটিউট করুন
def remove_control_chars(s):
    return control_char_re.sub('', s)

print(remove_control_chars('\x00\x01String'))

আউটপুট

এটি নিচের আউটপুট দেবে:

String
  1. পাইথনে স্ট্রিং থেকে প্রথম n ক্যারেক্টার রিমুভ করা

  2. Python 3-এ Tkinter filedialog থেকে স্ট্রিং পাওয়ার পদ্ধতি

  3. পাইথনে স্ট্রিং থেকে সংখ্যা বের করা

  4. পাইথনে স্ট্রিং থেকে সকল পাঙ্কচুয়েশন সরিয়ে ফেলা