首页 > 解决方案 > 感叹号后面的字母大写

问题描述

我的字符串需要在“!”之后大写:

我制作了一个在一定程度上有效的脚本,但是当最后一个字母是“!”时给我一个问题。

strin "hello! there!" 

strout = []

for i in range(len(strin)):     
    if strin[i-2] == '!':
        strout.append((strin[i]).capitalize())

    else:
        strout.append(strin[i])
    strout[0] = strout[0].capitalize()

newStr = "".join(strout)

输出是:你好!那里!


我该怎么做才能防止第二个字母大写。
原因[i-2]是每当循环遇到'!' 在文本中间它大写字母i

标签: pythonlettercapitalize

解决方案


那这个呢:

string = "hello! there!"
'! '.join(map(lambda s: s.lstrip().capitalize(), string.split('!')))

推荐阅读