在一定条件下,将单词字符串分隔为字符

时间:2018-11-05 03:31:28

标签: python

我有一串字,我想将它们分成单个字符。但是,如果一组字符是我所说的“特殊辅音对”的一部分,则它们必须保持在一起。

这些是我的一些“特殊辅音对”:

consonant_pairs = ["ng", "ld", "dr", "bl", "nd", "th" ...]

这是我要分成字符的示例字符串之一:

sentence_1 = "We were drinking beer outside and we could hear the wind blowing"

这将是我想要的输出(我已经删除了空格和标点符号):

sentence_1_char = ['w', 'e', 'w', 'e', 'r', 'e', 'dr', 'i', 'n', 'k', 'i', 'ng', 'b', 'e', 'e', 'r', 'o', 'u', 't', 's', 'i', 'd', 'e', 'a', 'n', 'd', 'w', 'e', 'c', 'o', 'u', 'ld', 'h', 'e', 'a', 'r', 'th', 'e', 'w', 'i', 'nd', 'bl', 'o', 'w', 'i', 'ng']

我考虑使用list(),尽管我不知道如何处理辅音对。有人可以帮我吗?

1 个答案:

答案 0 :(得分:4)

一个快速(不一定是高性能的)答案:

import re
charred = re.split('(' + '|'.join(consonant_pairs) + ')', sentence)

编辑:要在OP中获得预期的输出:

import re
matches = re.finditer('(' + '|'.join(consonant_pairs) + '|.)', sentence)
charred = [sentence[slice(*x.span())] for x in matches]