所以,这一次,我的挑战要求我从用户那里得到一个输入,我的python代码必须检查代码并找到任何未大写的字符应该大写 - 如果在“i”中找到文本,这将被替换为“I”,以及任何(非空间)非大写字符之后的任何!?应该大写(“。cheese”将被替换为“。Cheese”)。到目前为止,我的代码可以找到无资本化的“i”并替换它们但是还不能替换之后发现的非大写字符!? (在一个空格之后)。到目前为止,这是我的代码:
import re
def capitalise():
string = str(input("Please input a uncapitalised string to be capitalised:"))
string = string.replace(" i ", " I ")
a = string.find('\. [a-z]')
b = '\. [A-Z]'
string = string.replace(a,b)
print(string)
def main():
capitalise()
pass
if __name__ == '__main__':
main()
有人知道如何做最后一部分吗?
答案 0 :(得分:0)
>>> word = ".cheese"
>>> def return_index(word):
... for i, x in enumerate(word):
... if x.isalpha():
... return i
...
>>> index = return_index(word)
>>> index
1
>>> if index:
... word.replace(word[index],word[index].upper(), 1)
...
'.Cheese'
答案 1 :(得分:0)
带有reqular表达式的快速示例
words = ' a string i want to be capitalised: string2 . string 3 !string 4 : string 5 !!? string6.'
for match in re.findall('(^\s*\w)|(\s*[\.\?\!\:]\s*\w)|(\s+i\s+)', words) :
words = words.replace(''.join(match), ''.join(match).upper(), 1)
结果:
print(words)
' A string I want to be capitalised: String2 . String 3 !String 4 : String 5 !!? String6.'