python - 如何拆分字符串中的大写字母?

标签 python

s = "HiMyNameIsBob"

letters = ("A","B", "C", "D"...)

for char in s:
    if s.find(letters) is True:

我想要的结果是

"Hi My Name Is Bob"

我想避免使用正则表达式方法

最佳答案

这里我可能依赖于字符串的字典顺序:

''.join( ' '+x if 'A' <= x <= 'Z' else x for x in s )

演示:

>>> s = "HiMyNameIsBob"
>>> ''.join( ' '+x if 'A' <= x <= 'Z' else x for x in s )
' Hi My Name Is Bob'

如果你不想要前导空格,你总是可以 .strip() 结果。

检查字符是否为大写的更好方法是使用 isupper() 函数(感谢 Esthete 和 wim 指出这一点):

>>> ''.join( ' '+x if x.isupper() else x for x in s )
' Hi My Name Is Bob'

关于python - 如何拆分字符串中的大写字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845013/

相关文章:

python - python 中的 "type"命令给出了意外结果

python - 如何在 for 循环中重置模拟迭代器?

python - 如何使用模糊逻辑从 Pandas 数据框中匹配和提取文本?

python - 如何在 Python 中计算干湿拼写?

python - Matplotlib:一张图像上的两个数据集

python - os.error 有什么意义?

如果子列表中存在给定元素,Python 将返回子列表的元素

python - astimezone() 不能应用于原始日期时间

python - Rpy2 在安装时找不到我的 R 库

python - 绘制数据框中所有列的直方图