I get a string like “29 jan. 2021”. I want to convert the swedish substring “jan.” to the corresponding english month name, in this case “Jan” so the result would be “29 Jan 2021”. Then I can use this string to convert it into a date object.
I have a dictionary that has a key:value with the swedish key name and corresponding english month name as value:
monthNameDictionary = { "jan.": "Jan", "feb.": "Feb", "mars": "Mar", "apr.": "Apr", "maj": "May", "juni": "Jun", "juli": "Jul", "aug.": "Aug", "sep.": "Sep", "okt.": "Oct", "nov.": "Nov", "dec.": "Dec", }
How can I use this or some other way to convert the string into a string with the english month name?
Advertisement
Answer
Just for completeness: If you really want to replace the strings, use this (assumes that every string to be replaced is present at most once):
monthDict = { "jan.": "Jan", "feb.": "Feb", "mars": "Mar", "apr.": "Apr", "maj": "May", "juni": "Jun", "juli": "Jul", "aug.": "Aug", "sep.": "Sep", "okt.": "Oct", "nov.": "Nov", "dec.": "Dec", } inStr = "29 jan. 2021" for month in monthDict: # iterating directly over a dict iterates over it's keys inStr = inStr.replace(month, monthDict[month]) print(inStr)
EDIT: If you have multiple occurrences of the same word, use inStr = re.sub(month, monthDict, inStr)
instead.