নেতৃস্থানীয় এবং পেছনের স্থানগুলি সরাবেন?


109

নিম্নলিখিত কোডের লাইন দিয়ে .strip ব্যবহার করার চেষ্টা করতে আমার বেশ কষ্ট হচ্ছে।

সাহায্যের জন্য ধন্যবাদ.

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

3
লাইন কি? একটি উদাহরণ দুর্দান্ত হবে বা আমরা কেবল অনুমান করছি।
জামিলাক

f.writ (str (re.split ("টেক আইডি: | নাম: | অ্যাকাউন্ট #:", লাইন) [- 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.strip () এর আউটপুট যদি আপনার লক্ষ্য: s = s.strip ()
সান্নামাস

@ গ্রেগসমিট কীভাবে কেউ এইটা মিস করতে পারে? Likes 78 টি পছন্দ এবং কেউ খেয়াল করেনি? স্ট্রেঞ্জ।
MYGz

@ এমওয়িজি হ্যাঁ, আমি এমনকি নিজেকে কিছু জিজ্ঞাসা করেছি এই ভেবে নিজেও প্রশ্ন করছি।
গ্রেগ স্মিট

2
@ গ্রেগসমিট দৃশ্যত 89294 টি স্ক্যান করেছে। আপনি একটি তীক্ষ্ণ জুড়ি পেয়েছেন: পি
এমওয়াইজিজেড

স্পষ্টতই, আমি কিছু ভুল করছি, তবে আমি জানি না এটি কী। আমি যখন স্ট্রিংয়ে স্ট্রিপ () চালাই, আমি স্ট্রিংয়ের পরিবর্তে স্ট্রিংগুলির একটি তালিকা ফিরে পাই।
ব্যবহারকারী 1928764

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])পদ্ধতিতে charactersচ্ছিক অক্ষরগুলিতে পাস করতে পারেন । পাইথন এই অক্ষরগুলির উপস্থিতি সন্ধান করবে এবং সেই অনুসারে প্রদত্ত স্ট্রিংটি ছাঁটাই করবে।


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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.