اذهب إلى المحتوى

السؤال

نشر (معدل)

لنفترض أن لدي السلسلة النصية التالية:

The   fox jumped   over    the log.

أريد تنظيف هذه السلسلة النصية عن طريق حذف الفراغات ولتصبح كما في المثال التالي:

The fox jumped over the log.
تم التعديل في بواسطة ahmed1990

Recommended Posts

  • 1
نشر

يمكنك حذف المسافات الزائدة في السلاسل النصية في لغة بايثون بسهولة باستخدام دالتي join()  وsplit واللتان ستمكنك من حذف أي فراغ زائدة في السلسلة النصية كما في المثال التالي:

" ".join(foo.split())

كما يمكنك استخدام التعابير النصية لحذف الفراغات عن طريق دالة sub من وحدة re كما في المثال التالي:

>>> import re
>>> re.sub(' +',' ','The     quick brown    fox')
'The quick brown fox'

طريقة أخرى للحل باستخدام التعابير النصية كما في المثال التالي:

import re
s = "The   fox jumped   over    the log."
re.sub("\s\s+" , " ", s)

ويمكنك أيضا استخدم هذه الطريقة التي تدعم tabs بالإضافة إلى الفراغات:

>>> import re
>>> str = 'this is a            string with    multiple spaces and    tabs'
>>> str = re.sub('[ \t]+' , ' ', str)
>>> print str
this is a string with multiple spaces and tabs

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...