在 Python 中创建首字母缩略词

新手上路,请多包涵

在 Python 中,如何制作给定字符串的首字母缩写词?

比如,输入字符串:

 'First Second Third'

输出:

 'FST'

我正在尝试类似的东西:

 >>> for e in x:
        print e[0]

但它不起作用……关于如何做到这一点有什么建议吗?我确信有一种正确的方法可以做到这一点,但我似乎无法弄清楚。我必须使用 re 吗?

原文由 user225312 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 694
2 个回答

尝试

print "".join(e[0] for e in x.split())

您的循环实际上循环了字符串 x 中的所有字符。如果您想遍历单词,可以使用 x.split()

原文由 Sven Marnach 发布,翻译遵循 CC BY-SA 2.5 许可协议

如果你只想使用大写字母

>>>line = ' What AboutMe '
>>>filter(str.isupper, line)
'WAM'

那些可能不是前导大写字母的词呢?

 >>>line = ' What is Up '
>>>''.join(w[0].upper() for w in line.split())
'WIU'

只有Caps的话呢?

 >>>line = ' GNU is Not Unix '
>>>''.join(w[0] for w in line.split() if w[0].isupper())
'GNU'

原文由 kevpie 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏