[英]Python - Splitting a string of names separated by spaces and commas
我有一個 API 將我的程序輸入到 django 多對多模型字段中。 我的數據庫中的個人姓名由分開的名字和姓氏構成。 但是,API 正在發送一個以字符串列表形式構成的批量姓名列表,如下所示: "Jones, Bob Smith, Jason Donald, Mic"
(姓氏-逗號-空格-第一個命名空間-新姓氏-等。 )
我將如何以一種允許我過濾特定用戶並將其添加到多對多字段的方式分隔此字符串?
謝謝!!
這個答案不包括名字或姓氏包含空格的情況(這種情況要復雜得多,因為你的左邊和右邊都有一個空格)。
您需要將 -comma-space- 替換為沒有空格的內容(因為您在兩個不同的名稱之間也有一個空格)。
string = "Jones, Bob Smith, Jason Donald, Mic"
names = []
for name in string.replace(', ', ',').split(' '):
name = name.split(',')
last_name = name[0]
first_name = name[1]
names.append((last_name, first_name))
names
輸出:
[('Jones', 'Bob'), ('Smith', 'Jason'), ('Donald', 'Mic')]
您可以使用正則表達式:
s = "Jones, Bob Smith, Jason Donald, Mic"
list(re.findall(r'(\S+), (\S+)', s))
# [('Jones', 'Bob'), ('Smith', 'Jason'), ('Donald', 'Mic')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.