下面是一个示例:
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
问题是“高”“质量”连在一起
最佳答案
您非常接近正确的答案。您要查找的正则表达式是't-shirt|[a-z-]+'
。范围'-'
中的破折号'[...]'
被视为特殊符号,除非它是方括号中的第一个或最后一个字符。