ฉันมีปัญหาในการพยายามใช้ .strip กับโค้ดบรรทัดต่อไปนี้
ขอบคุณสำหรับความช่วยเหลือ
f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])
ฉันมีปัญหาในการพยายามใช้ .strip กับโค้ดบรรทัดต่อไปนี้
ขอบคุณสำหรับความช่วยเหลือ
f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])
stripนั้น คุณต้องการ: f.write(str(re.split("Tech ID:|Name:|Account #:",line)[-1]).strip()).
re.split(r"\s*(?:Tech ID:|Name:|Account #:)\s*ฯลฯ
คำตอบ:
คุณสามารถใช้แถบ () เพื่อลบช่องว่างต่อท้ายและนำหน้า
>>> s = ' abd cde '
>>> s.strip()
'abd cde'
หมายเหตุ: ช่องว่างภายในจะถูกรักษาไว้
ขยายซับของคุณเป็นหลายบรรทัด จากนั้นมันจะกลายเป็นเรื่องง่าย:
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)
ควรสังเกตว่าstrip()เมธอดจะตัดอักขระช่องว่างที่นำหน้าและต่อท้ายออกจากสตริง (หากไม่มีอาร์กิวเมนต์ที่ส่งผ่าน) หากคุณต้องการตัดอักขระเว้นวรรคในขณะที่ยังคงอักขระอื่น ๆ ไว้ (เช่นขึ้นบรรทัดใหม่) คำตอบนี้อาจเป็นประโยชน์:
sample = ' some string\n'
sample_modified = sample.strip(' ')
print(sample_modified) # will print 'some string\n'
strip([chars]): คุณสามารถส่งผ่านอักขระเสริมไปยังstrip([chars])วิธีการ Python จะค้นหาการเกิดขึ้นของอักขระเหล่านี้และตัดแต่งสตริงที่กำหนดตามนั้น
ไฟล์เริ่มต้น:
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