Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 3.x 如何在python中使用前导0进行拆分_Python 3.x_Leading Zero - Fatal编程技术网

Python 3.x 如何在python中使用前导0进行拆分

Python 3.x 如何在python中使用前导0进行拆分,python-3.x,leading-zero,Python 3.x,Leading Zero,我试图拆分一个带前导0的字符串,但得到了很多无效的标记。我知道python会将前导0解释为八进制数。 我想做的是将“Jan-012005”拆分为['Jan-01','2005']。我试图将其转换为字符串,但仍然有相同的错误。我所做的是 def split_fileB(line): first=str(line.split(',')) return first 有人知道如何保持格式吗?您可以使用python regexp模块分割字符串,并查找由一个或多个数字组成的子字符串

我试图拆分一个带前导0的字符串,但得到了很多无效的标记。我知道python会将前导0解释为八进制数。 我想做的是将“Jan-012005”拆分为['Jan-01','2005']。我试图将其转换为字符串,但仍然有相同的错误。我所做的是

def split_fileB(line):
     first=str(line.split(',')) 
     return first

有人知道如何保持格式吗?

您可以使用python regexp模块分割字符串,并查找由一个或多个数字组成的子字符串

import re
pattern = re.compile("([0-9]+)")

s = "foo bar Jan-01 03-56, blah"
toks = pattern.split(s)

# toks is ['foo bar Jan-', '01', ' ', '03', '-', '56', ', blah']
如果您的格式正好是“MMM-DD,YYYY”,那么您可以使用类似的格式(根据问题改编)。我想你是想从中抽出一天的时间

def get_day_number(line):
   month_day, year = line.split(",", 1) # '1' splits at most once
   month, day = month_day.split("-", 1)
   return int(day, 10)
在尝试使用
int(s)
将字符串转换为整数之前,您提到的八进制数问题不会发生。通过显式地指定一个基,可以强制整数转换使用十进制,这是python中的一个通用良好实践

s = "010"
i = int(s, 10)
print i # 10

你的问题自相矛盾。“我想做的是拆分”--这是一个字符串操作--“
'Jan-012005'
”--看起来像一个字符串,然后突然:“我试图将其转换为字符串”。这是什么?
“2005年1月1日”。拆分(',')
效果很好。如果这不是您看到的实际数据,您需要提供更多信息。您需要给出一个完整行的示例,因为它工作得很好。
str(some_string.split(','))
将为您提供一个字符串化列表,这几乎肯定不是您想要的。我知道这里出了什么问题。我刚输入了2005年1月1日,而不是“2005年1月1日”。谢谢