python - 我正在尝试解决其他首字母缩略词
问题描述
我有以下字符串需要为其创建首字母缩略词:
Institute of Electrical and Electronics Engineers
As Soon As Possible
University of California San Diego
Self Contained Underwater Breathing Apparatus
这是我的代码
my_string = input()
my_string2 = my_string.upper()
for x in range(0, 1, len(my_string2)):
print(my_string2[0::15])
但它只适用于第一个输入。此代码未涵盖另外三个示例。我需要的是修改此代码,使其可以从任何输入中创建一个首字母缩略词。第一个首字母缩略词称为“电气和电子工程师协会”,一旦将其放入输入中,它就会返回 IEEE 作为输出。基本上所有大写的第一个字母都被保留,没有小写的单词保留。
解决方案
这是一个基于正则表达式的解决方案,它查找以大写字母开头的单词并提取其首字母,然后join
将它们全部组合在一起以构成首字母缩略词:
import re
strings = [
'As Soon As Possible',
'Institute of Electrical and Electronics Engineers',
'University of California San Diego',
'Self Contained Underwater Breathing Apparatus'
]
for s in strings:
acronym = ''.join(re.findall(r'\b[A-Z]', s))
print(acronym)
如果您不想使用正则表达式,您可以将字符串拆分并测试每个单词的第一个字符以查看它是否为大写:
for s in strings:
acronym = ''.join(w[0] for w in s.split(' ') if w[0].isupper())
print(acronym)
无论哪种情况,输出都是:
ASAP
IEEE
UCSD
SCUBA
要从输入运行,请使用以下代码:
import re
s = input()
acronym = ''.join(re.findall(r'\b[A-Z]', s))
print(acronym)
或者:
s = input()
acronym = ''.join(w[0] for w in s.split(' ') if w[0].isupper())
print(acronym)
推荐阅读
- javascript - 无法部署 Firestore 云功能
- ssh - Zsh 无法正确自动完成我的 ssh 命令
- r - 如果字符串包含“|”,则返回 true
- php - 根据查询中的特定分组插入两个表
- python - 使用python更新json对象中的json元素
- mysql - 在实用程序类中使用主 JDBC 连接池
- html - 寻找使用 HTML 显示实时视频的对象检测结果的解决方案
- c++ - Lua 使用 lua_type(lua_state, lua_gettop(lua_state) 将“string”返回给 C++ 而不是“double”,这可能是什么问题?
- api - Sabre Instaflights 单向搜索没有结果
- javascript - 即使数据未定义,JQuery 也不会重新加载