আপনার যদি শুধুমাত্র ASCII অক্ষর থাকে এবং অ-মুদ্রণযোগ্য অক্ষরগুলি সরাতে চান, তাহলে সবচেয়ে সহজ উপায় হল string.printable ব্যবহার করে সেই অক্ষরগুলিকে ফিল্টার করা। উদাহরণস্বরূপ,
>>> import string >>> filter(lambda x: x in string.printable, '\x01string') string
0x01 মুদ্রিত হয়নি কারণ এটি একটি মুদ্রণযোগ্য অক্ষর নয়৷ আপনি যদি ইউনিকোড সমর্থন করতে চান, তাহলে এই অক্ষরগুলি সরাতে আপনাকে ইউনিকোড ডেটা মডিউল এবং রেজেক্স ব্যবহার করতে হবে৷
উদাহরণ
import sys, unicodedata, re
# Get all unicode characters
all_chars = (unichr(i) for i in xrange(sys.maxunicode))
# Get all non printable characters
control_chars = ''.join(c for c in all_chars if unicodedata.category(c) == 'Cc')
# Create regex of above characters
control_char_re = re.compile('[%s]' % re.escape(control_chars))
# Substitute these characters by empty string in the original string.
def remove_control_chars(s):
return control_char_re.sub('', s)
print (remove_control_chars('\x00\x01String')) আউটপুট
এটি আউটপুট দেবে:
String