我希望删除与/
相邻的字符串中的空格,同时保留其余的空格。
例如,假设我有一个字符串98 / 100 xx 3/ 4 and 5/6
。我的示例所需的结果是98/100 xx 3/4 and 5/6
。 (这样我就可以使用.split(' ')
作为下一步并提取有意义的数字,即98/100
,3/4
和5/6
作为我的最终结果。)注意:我只想要寻找/
,无需担心其他运营商。
我知道我应该使用re
,但我无法理解。任何帮助表示赞赏!
---------------------我的方法如下------------------
我使用[index_num.end(0) for index_num in re.finditer('/', test)]
,其中test = '98 / 100 xx 3/ 4 and 5/6'
找到/
的索引,然后检查上一个或下一个是否为空格。这并不理想,我相信有更简单的方法。
答案 0 :(得分:4)
您可以使用str.replace
而不是正则表达式删除斜杠前后的空格:
>>> '98 / 100 xx 3/ 4 and 5/6'.replace(' /','/').replace('/ ','/')
'98/100 xx 3/4 and 5/6'
答案 1 :(得分:3)
提示:在斜杠周围找到任意数量的空格(不仅仅是空格字符,还有制表符等)的正则表达式为:r'\s*/\s*'
。正则表达式位于撇号之间。句点只是句子的结尾,r告诉Python将撇号中的字符串视为“原始”字符串。
如果您不想找到任意空格字符,只想查找空格字符本身,则正则表达式为r' */ *'
。注意星号前面的空格。
其余的我留给你,因为这听起来像是一个家庭作业问题。