繁体   English   中英

Python有条件地删除空格

[英]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/45/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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM