我试图用前导0分割一个字符串,我得到了很多无效的令牌。我理解python会将前导0解释为八进制数。 我想做的是分开" 2005年1月1日和#34;进入[' Jan-01',' 2005']。我试图将其转换为字符串,但我仍然有同样的错误。我做的是,
def split_fileB(line):
first=str(line.split(','))
return first
有谁知道如何保留格式?
答案 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)