【问题标题】:How to split strings based on capitalization? [duplicate]如何根据大小写拆分字符串? [复制]
【发布时间】:2011-03-08 04:17:39
【问题描述】:

可能重复:
Python: Split a string at uppercase letters

我正试图弄清楚如何将TwoWords 更改为Two Words,但我想不出办法。我需要根据大写的位置进行拆分,这将永远是一个新词。有人有什么建议吗?

在python中。

【问题讨论】:

    标签: python string


    【解决方案1】:

    您可以使用正则表达式来做到这一点:

    import re
    words = re.findall('[A-Z][a-z]*', 'TheWords')
    

    【讨论】:

    • 此正则表达式不适用于非 ASCII 字母。
    • @Jacek Konieczny - 由于 Python 不允许您基于 unicode 字符属性进行匹配,因此您必须将自己限制为 ASCII,或者手动包含您想要支持的语言的字符和字符范围。见stackoverflow.com/questions/1832893/…
    【解决方案2】:

    你可以使用正则表达式:

    import re
    re.findall("[A-Z][a-z]*","TwoWordsAATest")
    
    re.findall("[A-Z][^A-Z]*","TwoWordsAATest")
    

    http://docs.python.org/library/re.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2022-01-07
      • 1970-01-01
      • 2014-02-19
      相关资源
      最近更新 更多