以下是一个例子:
se1 = pd.Series(['x whitet-shirtlarge 100% high-quality menshirt'])
se1.str.findall('t-shirt|[a-z]+').str.join(' ')
输出结果为:
x whitet shirtlarge high quality menshirt
我的预期输出是(注意虚线T恤):
x whitet-shirtlarge high quality menshirt
如何实现我的预期输出? 谢谢。
附加说明: 以下表达式将产生非常接近我期望的结果:
se1.str.findall('t-shirt|[a-z\s]').str.join('')
输出:
x whitet-shirtlarge highquality menshirt
问题是'高' '质量'连接成一个单词
答案 0 :(得分:1)
你非常接近正确答案。您正在寻找的正则表达式是't-shirt|[a-z-]+'
。范围'-'
中的短划线'[...]'
被视为特殊符号,除非它是括号中的第一个或最后一个字符。