प्रमुख और अनुगामी रिक्त स्थान निकालें?


109

मैं एक कठिन समय का उपयोग करने की कोशिश कर रहा हूँ। कोड की निम्नलिखित पंक्ति के साथ।

सहायता के लिए धन्यवाद।

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])

3
लाइन क्या है? एक उदाहरण बहुत अच्छा होगा या हम सिर्फ अनुमान लगा रहे हैं।
— जामिलाक

f.write (str (re.split ("Tech ID: | Name: | खाता #:", लाइन) [- 1])। पट्टी)
— fpena06

1
आपके द्वारा अभी पोस्ट किए गए कोड से ऐसा लगता है कि आप पट्टी के बाद
— परोपकार को

आपने फ़ंक्शन कॉल कोष्ठक के बाद याद किया strip। आप चाहते हैं f.write(str(re.split("Tech ID:|Name:|Account #:",line)[-1]).strip()):।
— ली-आंग यीप

1
आप व्हाट्सएप को अपनी नियमित अभिव्यक्ति में क्यों नहीं जोड़ते हैं: re.split(r"\s*(?:Tech ID:|Name:|Account #:)\s*आदि
— जॉर्ज

जवाबों:


235

आप अनुगामी और प्रमुख स्थानों को हटाने के लिए पट्टी () का उपयोग कर सकते हैं।

>>> s = '   abd cde   '
>>> s.strip()
'abd cde'

नोट: आंतरिक रिक्त स्थान संरक्षित हैं


31
यदि आपका लक्ष्य: s = s.strip ()
— seanonymous

@GregSchmit किसी को कैसे याद कर सकता है? 78 लाइक और किसी का ध्यान नहीं गया? अजीब।
— MYGz

@MYGz हाँ, मैं खुद से भी सवाल कर रहा था, यह सोचकर कि मैं कुछ याद कर रहा हूँ।
— ग्रेग स्मिट

2
@GregSchmit जाहिरा तौर पर 89294 आँखों ने इसे स्कैन किया। आपको 1 तीक्ष्ण जोड़ी मिली: P
— MYGz

जाहिर है, मैं कुछ गलत कर रहा हूं, लेकिन मुझे नहीं पता कि वह क्या है। जब मैं एक स्ट्रिंग पर स्ट्रिप () चलाता हूं, तो मुझे स्ट्रिंग की एक सूची मिलती है, न कि स्ट्रिंग।
— user1928764

5

अपने एक लाइनर को कई लाइनों में विस्तारित करें। तब यह आसान हो जाता है:

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])

parts = re.split("Tech ID:|Name:|Account #:",line)
wanted_part = parts[-1]
wanted_part_stripped = wanted_part.strip()
f.write(wanted_part_stripped)

3

ध्यान दिया जाना चाहिए कि strip()विधि स्ट्रिंग से किसी भी अग्रणी और अनुगामी व्हाट्सएप वर्ण को ट्रिम कर देगी (यदि कोई पास-इन तर्क नहीं है)। यदि आप अन्य (जैसे कि नई पंक्ति) रखते हुए, स्पेस कैरेक्टर को ट्रिम करना चाहते हैं, तो यह उत्तर मददगार हो सकता है:

sample = '  some string\n'
sample_modified = sample.strip(' ')

print(sample_modified)  # will print 'some string\n'

strip([chars]): आप वैकल्पिक वर्णों में strip([chars])विधि के लिए पास कर सकते हैं । अजगर इन पात्रों की घटनाओं को देखेगा और उसके अनुसार दिए गए स्ट्रिंग को ट्रिम करेगा।


0

फ़ाइल शुरू करना:

     line 1
   line 2
line 3  
      line 4 

कोड:

with open("filename.txt", "r") as f:
    lines = f.readlines()
    for line in lines:
        stripped = line.strip()
        print(stripped)

आउटपुट:

line 1
line 2
line 3
line 4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.