Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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_Regex_Replace_Split - Fatal编程技术网

从python的字符串中提取数值

从python的字符串中提取数值,python,regex,replace,split,Python,Regex,Replace,Split,我有一个字符串,其中包含引号内的数值。我需要从这些文件中删除数值以及[和] 示例字符串:text=['13007807','130077779'] texts = ['13007807', '13007779'] texts.replace("'", "") texts..strip("'") print texts # this will return ['13007807', '13007779'] 所以我需要从字符串中提取: 13007807 13007779 您可以使用*解包

我有一个字符串,其中包含引号内的数值。我需要从这些文件中删除数值以及
[
]

示例字符串:
text=['13007807','130077779']

texts = ['13007807', '13007779'] 
texts.replace("'", "")
texts..strip("'")

print texts 

# this will return ['13007807', '13007779']
所以我需要从字符串中提取:

13007807
13007779

您可以使用
*
解包操作符:

texts = ['13007807', '13007779']
print (*texts)
输出:

13007807 13007779
13007807 13007779
如果您有:

data = "['13007807', '13007779']"
print (*eval(data))
输出:

13007807 13007779
13007807 13007779

您可以使用
*
解包操作符:

texts = ['13007807', '13007779']
print (*texts)
输出:

13007807 13007779
13007807 13007779
如果您有:

data = "['13007807', '13007779']"
print (*eval(data))
输出:

13007807 13007779
13007807 13007779

最简单的方法是使用
map
并在
list

list(map(int,texts))
输出

[13007807, 13007779]
如果输入数据的格式为
data=“['13007807','130077779']”

import re
data = "['13007807', '13007779']"
list(map(int, re.findall('(\d+)',data)))


最简单的方法是使用
map
并在
list

list(map(int,texts))
输出

[13007807, 13007779]
如果输入数据的格式为
data=“['13007807','130077779']”

import re
data = "['13007807', '13007779']"
list(map(int, re.findall('(\d+)',data)))


如果您的texts变量是我从您的回复中理解的字符串,那么您可以使用正则表达式:

import re
text = "['13007807', '13007779']"
regex=r"\['(\d+)', '(\d+)'\]"
values=re.search(regex, text)
if values:
    value1=int(values.group(1))
    value2=int(values.group(2))
输出:

13007807 13007779
13007807 13007779
值1=13007807


value2=13007779

如果您的texts变量是我从您的回复中理解的字符串,那么您可以使用正则表达式:

import re
text = "['13007807', '13007779']"
regex=r"\['(\d+)', '(\d+)'\]"
values=re.search(regex, text)
if values:
    value1=int(values.group(1))
    value2=int(values.group(2))
输出:

13007807 13007779
13007807 13007779
值1=13007807


value2=13007779

看起来您需要
int()。。。
numbers=[int(s)表示文本中的s]
做了您想要做的事情(给定您的样本)?或者
text
实际上是字符串本身吗?text是一个列表,我将其转换为字符串text=str(re.findall(r“\d+”,text)),看起来您需要
int()。。。
numbers=[int(s)表示文本中的s]
做了您想要做的事情(给定您的样本)?或者
text
实际上是字符串本身吗?text是一个列表,我将其转换为字符串text=str(re.findall(r“\d+”,text))