s = "HiMyNameIsBob"
letters = ("A","B", "C", "D"...)
for char in s:
if s.find(letters) is True:
Run Code Online (Sandbox Code Playgroud)
我想要结果
"Hi My Name Is Bob"
Run Code Online (Sandbox Code Playgroud)
我想避免使用正则表达式方法
我可能依赖于字符串的字典顺序:
''.join( ' '+x if 'A' <= x <= 'Z' else x for x in s )
Run Code Online (Sandbox Code Playgroud)
演示:
>>> s = "HiMyNameIsBob"
>>> ''.join( ' '+x if 'A' <= x <= 'Z' else x for x in s )
' Hi My Name Is Bob'
Run Code Online (Sandbox Code Playgroud)
如果您不想要前导空格,您可以随时.strip()获得结果.
检查字符是否为大写的一种稍微好一点的方法是使用该isupper()函数(感谢Esthete和wim指出这一点):
>>> ''.join( ' '+x if x.isupper() else x for x in s )
' Hi My Name Is Bob'
Run Code Online (Sandbox Code Playgroud)