我有一个包含以x开头的数字的字符串,例如“ x270”
或“ x9”
。它始终以x开头。我需要这些数字。
我正在这样做:
blatz = "x22"
a1 = int(re.search("x(\d+)", blatz).group(1))
这似乎不太像Python。我欢迎更优雅的解决方案。
问题来源:stackoverflow
使用re
库似乎是过大的选择。您不必搜索模式,因为您是说每个字符串都以x
开头。
因此,您只需进行切片即可:
blatz = "x22"
a1 = int(blatz[1:])
如果需要进一步检查,可以查看str.startswith(),str.endswith和/或str.isdigit()。
尽管切片看起来非常具有Python风格,但也有可能使用其他导致相同目标的字符串方法:
blatz = "x22"
a2 = int(blatz.lstrip("x")) # strip "x" from the left
a3 = int(blatz.partition("x")[-1]) # get everything after "x"
a4 = int(blatz.replace("x", "")) # replace every "x" with empty string
...
但是切片速度更快,并且对于Python程序员而言并不罕见。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。