从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))