首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从python中的名称中删除中间首字母?

如何从python中的名称中删除中间首字母?
EN

Stack Overflow用户
提问于 2016-02-02 18:57:50
回答 5查看 3.2K关注 0票数 3

我想找出一些看起来应该很简单的事情。我试图从名字中删除中间的首字母,但我不知道如何做到这一点,而不对字母表中的每个字母都做替换()。这就是我要找的:

(起首为)

“约翰·D·史密斯”

罗伯特·B·约翰逊

(结尾为)

“约翰·史密斯”

“罗伯特·约翰逊”

在Python中实现上述目标的最简单方法是什么?中间的首字母是随机的,但总是被空白包围。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-02-02 19:04:51

根据你的帖子,希望你能帮上忙

代码语言:javascript
复制
>>> import re
>>> re.sub(' [A-Z]* ', ' ', "John D Smith")
'John Smith'
>>> re.sub(' [A-Z]* ', ' ', "Robert B Johnson")
'Robert Johnson'
票数 5
EN

Stack Overflow用户

发布于 2016-02-02 19:01:35

代码语言:javascript
复制
name = "Name N Name".split() # Splits string at whitespace into list
del name[1] # Deletes 2nd item (middle initial)
removed_middle_initial = " ".join(name) # "Name Name"
票数 0
EN

Stack Overflow用户

发布于 2016-02-02 19:01:37

内置的字符串操作使得这非常容易。

代码语言:javascript
复制
[name.split()[0] + " " + name.split()[2] for name in names]

这是假设名字和姓氏不包括任何空格字符。如果需要更高级的需求,那么显然需要处理这些条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35161660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档