การแบ่งสตริงด้วย Pattern
กำหนดให้มี list ชื่อ movies โดยแต่ละสมาชิกเก็บชื่อภาพยนตร์ วันที่เผยแพร่ และชื่อผู้กำกับ (เช่น "The Godfather, 1972, Francis Ford Coppola")
มาฝึกใช้นิพจน์ทั่วไป (regular expression) เพื่อแบ่งสตริงกัน โจทย์คือดึงชื่อภาพยนตร์และชื่อผู้กำกับออกจากแต่ละสมาชิกใน list ตัวอย่างเช่น หากสมาชิกคือ "The Godfather, 1972, Francis Ford Coppola" ผลลัพธ์ที่ได้จะเป็น:
['The Godfather', 'Francis Ford Coppola']
จากนั้นให้แปลงผลลัพธ์นี้ให้อยู่ในรูปแบบ string เดียว เช่น
"The Godfather, Francis Ford Coppola"
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python
คำแนะนำการฝึกหัด
- คอมไพล์นิพจน์ทั่วไปที่ใช้แบ่งสตริงใน
moviesออกเป็นชื่อภาพยนตร์และชื่อผู้กำกับ - ดึงชื่อภาพยนตร์และชื่อผู้กำกับโดยใช้
re.split() - สร้าง string ใหม่ที่รวมชื่อภาพยนตร์และชื่อผู้กำกับคั่นด้วย
, - เพิ่ม string ที่ได้ลงใน
movies_without_year
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compile a regular expression
pattern = re.compile(____)
movies_without_year = []
for movie in movies:
# Retrieve a movie name and its director
split_result = re.split(____)
# Create a new string with a movie name and its director
movie_and_director = ', '.____
# Append the resulting string to movies_without_year
movies_without_year.____
for movie in movies_without_year:
print(movie)