たとえば、次のようなテキストがあります。
This is my String
をグラブTS
したいのですが、大文字だけをグラブしたいです。
大文字を除外するために、str.isupper
述語メソッドをと組み合わせて使用できます。filter
結果をシーケンスではなく文字列にしたい場合は、それを。で結合し''.join
ます。
>>> print(''.join(filter(str.isupper, "This is my String")))
TS
リストやタプルなどに各文字を保持できるようにする方法でこれを取得するかどうかはわかりませんが、リスト式を使用してこれを行う方法を次に示します。
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.
または、KOS の投稿に基づいて、リストを気にしない場合は、
>>> s = 'This is a test String'
>>> print(list(filter(str.isupper, s)))
['T', 'S']