-1

例如,我有这样的文字:

This is my String

我想抢TS,我只想抢大写。

4

3 回答 3

1

您可以str.isupper结合使用谓词方法filter来过滤掉大写字符。

如果您希望结果是字符串,而不是序列,请使用''.join.

>>> print(''.join(filter(str.isupper, "This is my String")))
TS
于 2012-08-21T07:44:57.287 回答
0

不确定您是否想以允许将每个字母保留在列表、元组等中的方式来获取它。但这里有一种使用列表表达式的方法:

    import string
    >>> [c for c in "This is my String" if c in string.ascii_uppercase]
    ['T', 'S']

此外,也许您想以不同的方式存储大写字符,或者立即对它们进行处理。for 循环可以很好地解决这个问题,例如:

    for c in 'This is my String':
        if c in string.ascii_uppercase: print(c) # Or do something else.
于 2012-08-21T17:07:03.147 回答
0

或者,以 KOS 的帖子为基础,如果您不介意列表,

>>> s = 'This is a test String'
>>> print(list(filter(str.isupper, s)))
['T', 'S']
于 2012-08-22T15:37:10.857 回答