如何在前导0中拆分python

时间:2015-11-19 18:14:27

标签: python-3.x leading-zero

我试图用前导0分割一个字符串,我得到了很多无效的令牌。我理解python会将前导0解释为八进制数。 我想做的是分开" 2005年1月1日和#34;进入[' Jan-01',' 2005']。我试图将其转换为字符串,但我仍然有同样的错误。我做的是,

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

有谁知道如何保留格式?

1 个答案:

答案 0 :(得分:0)

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

<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.48</version>

如果您的格式正好是&#34; MMM-DD,YYYY&#34;,那么您可以使用类似的内容(根据问题改编)。我假设你正试图从中抽出一天?

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']

您提到的八进制数问题在您尝试使用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) 将字符串转换为整数之前不会发生。您可以通过明确指定一个基数来强制整数转换使用十进制,这是python中的一般好习惯。

int(s)