python:虚词和单词
以下是一个例子:python:虚词和单词,python,regex,Python,Regex,以下是一个例子: 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-shirt): 如何实现我的预期产出? 多谢各位 补充说明: 下面的表达式将产生非常接近我预期的结果: se1.str
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-shirt):
如何实现我的预期产出?
多谢各位
补充说明:
下面的表达式将产生非常接近我预期的结果:
se1.str.findall('t-shirt|[a-z\s]').str.join('')
输出:
x whitet-shirtlarge highquality menshirt
问题是“高质量”被连接到一个词中你非常接近正确答案。您正在寻找的正则表达式是
't-shirt |[a-z-]+'
。除非是括号中的第一个或最后一个字符,否则'-'
范围内的破折号将被视为特殊符号。您是否试图将所有-
(破折号)替换为“`”(空格),除了t-shirt
一词中的-
?@Haleemulari非常接近。我只想保留字母([a-z])和定义的虚词(本例中为“t恤”)。在regexr.com中测试时,我的表达式似乎有效,但在python中失败了。为什么这是标记为pandas的?t-shirt |[a-z-]+
将生成x white-shirtlarge高质量男式衬衫
,请注意,高质量
中的破折号是不需要的。
x whitet-shirtlarge highquality menshirt