拆分列表并使用相同的分隔符重新加入

时间:2015-10-27 09:04:53

标签: python string

请使用以下字符串:

"Hello,world,how-are you?h"

如果我要使用以下方式拆分它:

import re
x = re.split("[^a-zA-Z]", string)

我会得到:

["Hello","world","how","are","you","h"]

然后,对于新列表的每个元素,我将运行一个函数,比如说:

y = map(str.upper, x)

如何使用原始分隔符重新加入?在上面的示例中,重新加入过程将导致:

"HELLO,WORLD,HOW-ARE-YOU?H"

1 个答案:

答案 0 :(得分:4)

改为使用re.sub

import re
def change(m):
  return str.upper(m.group(0))
x = re.sub("[a-zA-Z]", change, string)