微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python:检测字符串中的负数

如何解决python:检测字符串中的负数

因此,我有许多文本文件,其内容如下:
STRT .M                 -9.0:  START DEPTH
我希望检测负数并将其替换为0.1。 我只需找到\'-\'就可以检测到负数
text.count(\'-\')
如果text.count(\'-\')> 0,则为负数。 我的问题是:如何将字符串'\ -9.0 \'替换为数字0.1?最终,我想输出
STRT .M                  0.1:  START DEPTH
    

解决方法

简单的解决方案是针对用户
.replace(\'-9.0\',\'0.1\')
(请参阅
.replace()
的文档),但是我认为您需要基于正则表达式的更灵活的解决方案:
import re
new_string = re.sub(r\'-\\d+\\.\\d+\',\'0.1\',your_string)
    ,看起来您正在使用LAS文件。您可以签出libLAS来查看它是否适合您。这是一个教程。     ,正则表达式可以做到这一点:
>>> import re
>>> regex = re.compile(r\' -\\d+(\\.\\d+)?:\')
>>> regex.sub(\' 0.1:\',\'STRT .M                 -9.0:  START DEPTH\')
\'STRT .M                 0.1:  START DEPTH\'
>>> regex.sub(\' 0.1:\',\'STRT .M                 -19.01:  START DEPTH\')
\'STRT .M               0.1:  START DEPTH\'
>>> regex.sub(\' 0.1:\',\'STRT .M                 -9:  START DEPTH\')
\'STRT .M                 0.1:  START DEPTH\'
re.sub
文档     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。