यह आसान लग रहा था, "सूची में एक स्ट्रिंग से व्हाइटस्पेस हटाएं"। लेकिन किसी कारण से मेरा कोड काम नहीं किया।

new_list = []
channels = "KMP, PRIME"
channel = channels.split(",")

for each in channel:
    re.sub(r'^[^a-zA-Z]*', ' ', each)
    new_list.append(each)

मैंने lstrip/strip की भी कोशिश की, लेकिन कोई भी काम नहीं किया। क्यों? अगर मैं निम्नलिखित कोड के साथ "धोखा" देता हूं, तो यह काम करेगा। मैं अभी भी समस्या की तह तक जाना चाहता हूं। इसे ठीक करने के लिए मुझे क्या बदलना चाहिए?

चैनल = channel.split(", ")

0
DatCra 2 अप्रैल 2018, 02:23

2 जवाब

सबसे बढ़िया उत्तर

सूची बोध और str.strip का उपयोग करने का एक तरीका यहां दिया गया है।

ध्यान दें कि ऐसा प्रतीत नहीं होता है कि आपको इस कार्य के लिए रेगेक्स की आवश्यकता है।

channels = 'KMP, PRIME'

lst = [i.strip() for i in channels.split(',')]
# ['KMP', 'PRIME']

res = ','.join(lst)
# KMP,PRIME
3
jpp 1 अप्रैल 2018, 23:28

(दस्तावेज़ से:

स्ट्रिंग में पैटर्न की सबसे बाईं गैर-अतिव्यापी घटनाओं को प्रतिस्थापित करके प्राप्त स्ट्रिंग को वापस करें ...

आपको .sub() द्वारा मान को फिर से चालू रखना होगा

for each in channel:
    new_list.append(re.sub(r'^[^a-zA-Z]*', ' ', each))
1
Stephen Rauch 1 अप्रैल 2018, 23:27