首页 > 解决方案 > 解析用户输入

问题描述

如何使用切片方法从用户输入(月、日、年)中提取日期。问题可能是我分割字符串的方式。请赐教。

这是我的代码示例。我似乎无法正确获得月份和日期。我添加[0:9]是因为我认为 9 月有 9 个字母,但问题是如果用户输入的月份少于 9 个字母,那么我的代码就会出错。

def extractDate(datevalue):
    d = datevalue
    return d

x = extractDate(input("Enter Date: "))
cpos = x.find(',')

print("Month: " + x[0:9])
print("Day: " + x[11:13])
print("Year: " + x[cpos+2:])

输出:

Enter Date: December 2, 1999
Month: December 
Day:  1
Year: 1999

Process finished with exit code 0

预期的输出应该是例如:

月份:十二月

天数:2

年份:1999

标签: python-3.xstringparsing

解决方案


如果你保证输入总是这样,你可以这样做:

def extract_date(date_string):
    month_day, year = date_string.split(", ")
    month, day = month_day.split(" ")
    return day, month, year

推荐阅读