gpt4 book ai didi

python - 如何在字符串中搜索大写字母并返回包含和不包含大写字母的单词列表

转载 作者:太空狗 更新时间:2023-10-29 21:22:58 25 4
gpt4 key购买 nike

我的家庭作业是编写一个程序,从用户那里读取一个字符串并根据输入创建一个单词列表。创建两个列表,一个包含至少包含一个大写字母的单词和一个单词不包含任何大写字母。使用单个 for 循环打印出包含大写字母的单词,然后打印出没有大写字母的单词,每行一个单词。

我所知道的是不正确的:

s= input("Enter your string: ")
words = sorted(s.strip().split())
for word in words:
print (word)

因为如果 Capitol 在第一个字符中,它只会对序列进行排序。对于此作业,字符可以出现在单词中的任何位置。例如,'tHis is a sTring'

我当时正在尝试一个看起来与此类似的解决方案,只是想看看我是否可以用 CAPS 输出单词......但它就是行不通:

    s = input("Please enter a sentence: ")
while True:
cap = 0
s = s.strip().split()
for c in s:
if c in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
print(c[:cap])
cap += 1
else:
print("not the answer")
break

但正则表达式可能比写出整个字母表做得更好。

非常感谢任何帮助。不用说我是 python 的新手。

最佳答案

>>> w = 'AbcDefgHijkL'
>>> r = re.findall('([A-Z])', word)
>>> r
['A', 'D', 'H', 'L']

这可以为您提供一个单词中的所有大写字母...只是分享想法

>>> r = re.findall('([A-Z][a-z]+)', w)
>>> r
['Abc', 'Defg', 'Hijk']

以上将为您提供所有以大写字母开头的单词。注意:最后一个没有被捕获,因为它没有造词,但即使是那个也可以被捕获

>>> r = re.findall('([A-Z][a-z]*)', w)
>>> r
['Abc', 'Defg', 'Hijk', 'L']

如果在单词中找到大写字母,这将返回 true:

>>> word = 'abcdD'
>>> bool(re.search('([A-Z])', word))

关于python - 如何在字符串中搜索大写字母并返回包含和不包含大写字母的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com