在Python中如何将全名分割成名字和姓氏?

3

我是一名Python编程的新手,我正在尝试将全名拆分为名字和姓氏,请问有人可以帮助我吗?我的示例文件如下:

Sarah Simpson

我期望得到以下输出:Sarah,Simpson


欢迎来到SO!请在您的问题中提供一些代码:您尝试过什么等。另请参阅https://stackoverflow.com/help/how-to-ask。 - cccnrc
7个回答

2
这很方便:nameparser 1.0.6 - https://pypi.org/project/nameparser/
>>> from nameparser import HumanName
>>> name = "Sarah Simpson"
>>> name = HumanName(name)
>>> name.last
'Simpson'
>>> name.first
'Sarah'
>>> name.last+', '+name.first
'Simpson, Sarah'

2
您可以使用split()函数来实现,如下所示:

最初的回答

fullname=" Sarah Simpson"
fullname.split()

这将为您提供:['Sarah', 'Simpson']

在此基础上,您可以进行以下操作:
first=fullname.split()[0]
last=fullname.split()[-1]
print(first + ',' + last)

这将为您提供没有空格的Sarah,Simpson。最初的回答。

为什么在最后一个位置使用[-1]? - ruddy simonpour
你本可以这样做[1],但以防万一有中间名字,从末尾获取。 - justsomeguy

1
你可以尝试使用.split()函数,它会在分隔符处拆分字符串并返回一个字符串列表。在这种情况下,分隔符是空格字符。

首先使用.strip()删除前导和尾随空格,然后按分隔符拆分。

first_name, last_name=fullname.strip().split()

1
Python中的字符串是不可变的。创建一个新的字符串以获得所需的输出。 您可以使用字符串类的split()方法。
name = "Sarah Simpson"
name.split()

默认情况下,split() 会在空格处进行分割,并将分隔符作为参数。它返回一个列表 ["Sarah", "Simpson"]。只需连接字符串即可。有关更多参考,请参见 https://docs.python.org/3.7/library/stdtypes.html?highlight=split#str.split
Output = "Sarah", "Simpson"

 

0

name = "Thomas Winter" LastName = name.split()[1] (注意函数调用split()中的括号。)

split()会创建一个列表,其中每个元素都是原始字符串中由空格分隔的部分。现在,您可以使用name.split()[1]获取第二个元素,或者使用name.split()[-1]获取最后一个元素。


0

split() 显然是要使用的函数 - 它可以带一个参数或不带参数

fullname="Sarah Simpson"
ls=fullname.split()
ls=fullname.split(" ") #this will split by specified space

额外可选

如果你想将拆分的名称显示为以逗号分隔的字符串,那么你可以使用join()replace

print(",".join(ls))  #outputs Sarah,Simpson
print(st.replace(" ",","))

0

输入:Sarah Simpson => 假设它是一个字符串。 然后,要输出:Sarah,Simpson。请执行以下操作:

name_surname = "Sarah Simpson".split(" ")
to_output = name_surname[0] + ", " + name_surname[-1]
print(to_output)

函数split用于将字符串按照传递给它的指定参数进行分割。然后输出所有被分割的字符或单词的列表。 在您的情况下:字符串是"Sarah Simpson",因此当您使用参数" "(空格)执行split时,输出将为:["Sarah", "Simpson"]。

现在,要组合这些名称或访问它们中的任何一个,您可以输入包含所需单词索引的方括号的列表名称。例如:name_surname[0]将输出"Sarah",因为它在列表中的索引为0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接