【问题标题】:How to split a string into words and spaces?如何将字符串拆分为单词和空格?
【发布时间】:2018-10-25 12:57:54
【问题描述】:

我想拆分 string = ['O little forests,'] 以便输出包含单词和空格,最后一个逗号附加到最后一个单词。以下是所需输出的样子:

output = ['O', ' ', 'little', ' ', 'forests,']

通过使用line.split(),我能够将给定的字符串拆分为排除空格的单词列表。我欢迎你的建议!

【问题讨论】:

标签: python string split


【解决方案1】:

你可以使用groupby:

from itertools import groupby

sentence = 'O little forests'

result = [''.join(v) for k, v in groupby(sentence, key=str.isspace)]
print(result)

输出

['O', ' ', 'little', ' ', 'forests']

【讨论】:

    【解决方案2】:

    您可以使用re 来完成这项工作,如以下代码。

    import re
    string = ['O little forests'] 
    for a  in string:
      print(re.split(r'(\s+)', a))
    

    输出:

    ['O', ' ', 'little', ' ', 'forests']
    

    【讨论】:

      【解决方案3】:

      你可以使用 re(正则表达式):

      import re
      
      sentence = 'O little forests'
      
      re.split("( )", sentence) # ['O', ' ', 'little', ' ', 'forests']
      

      【讨论】:

        【解决方案4】:

        您可以在列表推导中像这样在每个单词之间添加一个空格元素:

        s = 'O little forest'
        # puts ' ' element after each word.
        st = [k for j in [[e, ' '] for e in s.split()] for k in j]
        st.pop() # drop last.
        st
        >>> ['O', ' ', 'little', ' ', 'forest']
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-12
          • 2011-04-22
          • 2013-09-09
          • 1970-01-01
          • 2017-04-26
          • 1970-01-01
          相关资源
          最近更新 更多