请使用以下字符串:
"Hello,world,how-are you?h"
Run Code Online (Sandbox Code Playgroud)
如果我要使用以下方法拆分:
import re
x = re.split("[^a-zA-Z]", string)
Run Code Online (Sandbox Code Playgroud)
我会得到:
["Hello","world","how","are","you","h"]
Run Code Online (Sandbox Code Playgroud)
然后,对于新列表的每个元素,我将运行一个函数,例如:
y = map(str.upper, x)
Run Code Online (Sandbox Code Playgroud)
我怎么能用原来的分隔符重新加入呢?在上面的示例中,重新加入过程将导致:
"HELLO,WORLD,HOW-ARE-YOU?H"
Run Code Online (Sandbox Code Playgroud)
改用re.sub:
import re
def change(m):
return str.upper(m.group(0))
x = re.sub("[a-zA-Z]", change, string)
Run Code Online (Sandbox Code Playgroud)