[英]Python conditionally remove whitespaces
我想删除与/
相邻的字符串中的空格,同时保留其余的空格。
例如,假设我有一个字符串98 / 100 xx 3/ 4 and 5/6
。 对于我的示例,期望的结果将是98/100 xx 3/4 and 5/6
。 (这样我就可以将.split(' ')
用作下一步,并提取那些有意义的数字,即98/100
3/4
98/100
3/4
和5/6
作为我的最终结果。)注意:我只想查找/
,无需担心其他运营商。
我知道我应该为此使用re
,但是我无法弄清楚。 任何帮助表示赞赏!
---------------------我下面的方法------------------
我[index_num.end(0) for index_num in re.finditer('/', test)]
使用[index_num.end(0) for index_num in re.finditer('/', test)]
,其中test = '98 / 100 xx 3/ 4 and 5/6'
来找到/
的索引,然后检查如果上一个或下一个是空白。 那不是理想的,我相信有更简单的方法。
您可以使用str.replace
而不是regex删除斜线前后的空格:
>>> '98 / 100 xx 3/ 4 and 5/6'.replace(' /','/').replace('/ ','/')
'98/100 xx 3/4 and 5/6'
提示:可以在斜杠周围找到任意数量的空格(不仅是空格字符,还包括制表符等)的正则表达式为: r'\\s*/\\s*'
。 正则表达式在撇号之间。 句号只是我句子的结尾,r告诉Python将撇号内的字符串视为“原始”字符串。
如果您不想查找任意的空格字符,而只查找空格字符本身,则正则表达式为r' */ *'
。 注意星号前面的空间。
剩下的我留给您,因为这听起来像是一个作业问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.