Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除python中的所有非整数值_Python_String_Replace - Fatal编程技术网

如何删除python中的所有非整数值

如何删除python中的所有非整数值,python,string,replace,Python,String,Replace,说我有“123asdf”。如何删除所有非整数字符,使其成为“123”?您可以执行以下操作: ''.join(x for x in your_string if x.isdecimal()) 这会将这些数字字符添加到字符串中 例子 你可以做: ''.join(x for x in your_string if x.isdecimal()) 这会将这些数字字符添加到字符串中 例子 在Python2.x中,您可以使用 data = "123asdf" import string print dat

说我有“123asdf”。如何删除所有非整数字符,使其成为“123”?

您可以执行以下操作:

''.join(x for x in your_string if x.isdecimal())
这会将这些数字字符添加到字符串中

例子 你可以做:

''.join(x for x in your_string if x.isdecimal())
这会将这些数字字符添加到字符串中

例子
在Python2.x中,您可以使用

data = "123asdf"
import string
print data.translate(None, string.letters)
# 123
这里,
str.translate
的第一个参数是字符映射,表示应该将哪个字符更改为什么。第二个参数是需要从字符串中删除的字符串。因为我们不需要翻译而是删除字母表,所以我们将
None
传递给第一个参数,将
string.letters
传递给第二个参数

在Python3.x中,您可以

import string
print(data.translate(data.maketrans("", "", string.ascii_letters)))
# 123

在Python2.x中,您可以使用

data = "123asdf"
import string
print data.translate(None, string.letters)
# 123
这里,
str.translate
的第一个参数是字符映射,表示应该将哪个字符更改为什么。第二个参数是需要从字符串中删除的字符串。因为我们不需要翻译而是删除字母表,所以我们将
None
传递给第一个参数,将
string.letters
传递给第二个参数

在Python3.x中,您可以

import string
print(data.translate(data.maketrans("", "", string.ascii_letters)))
# 123

您可以使用正则表达式替换:

>>> import re
>>> re.sub("[^0-9]", "", "sdkjh987978asd098as0980a98sd")
'987978098098098'

信用证:

您可以使用正则表达式替换:

>>> import re
>>> re.sub("[^0-9]", "", "sdkjh987978asd098as0980a98sd")
'987978098098098'
学分:

我更喜欢这种方法:

>>> import re
>>> re.sub(r"\D", "", "123asdf")
'123'
我更喜欢这种方法:

>>> import re
>>> re.sub(r"\D", "", "123asdf")
'123'

你错过了这个<代码>http://stackoverflow.com/questions/1249388/how-do-we-remove-all-non-numeric-characters-from-a-string-in-python像#@等这样的字符怎么办?你错过了这个<代码>http://stackoverflow.com/questions/1249388/how-do-we-remove-all-non-numeric-characters-from-a-string-in-python像#@等这样的字符呢?在我找到的所有字符中最好的方法,非常感谢。在我找到的所有字符中最好的方法,非常感谢。