这是一个棘手的问题,但有一种方法可以让您获得大部分方法,即使用负面和正面的后视/前瞻来编码一些基本规则。鉴于您所描述的内容,以下示例可能会很好地工作。它会错误地将连续的“真实”单词中的字符组合成单独的字符,但如果这种情况很少见,这可能没问题。您可以添加其他规则以涵盖更多边缘情况。import reimport pandas as pds = pd.Series(['V e r y calm', 'Keen and a n a l y t i c a l','R a s h and careless', 'Always joyful'])regex = re.compile('(?<![a-zA-Z]{2})(?<=[a-zA-Z]{1}) +(?=[a-zA-Z] |.$)')s.str.replace(regex, '')0 Very calm1 Keen and analytical2 Rash and careless3 Always joyfuldtype: object这个正则表达式有效地说:查找空格序列并替换空格,但前提是它们之前有一个字母。如果有两个字母,不要做任何事情(即一个 2 个字母的单词)。但更具体地说,实际上只有在序列中最后一个空格后面有一个字母或任何终止字符串的字符时才替换空格。