我有一个值列表,我需要用日期模式 dd mmm yyyy 将它们分开
input_list = ['01 Feb 2023 CNY 0.00 559,929.32 **01 Feb 2023 CNY 0.00 0.00**',
'01 Feb 2023 HKD 0.00 22,441,926.65 **01 Feb 2023 HKD 0.00 0.00**',
'01 Feb 2023 USD 0.00 585,686.14 **01 Feb 2023 USD 0.00 0.00**']
希望得到结果: df 结果:
currency 1stvalue 2ndvalue
CNY 0.00 0.00
HKD 0.00 0.00
USD 0.00 0.00
任何指导或建议都会有帮助,谢谢
我找到了类似的方法,但仍然无法弄清楚: Regex to splitstring on date and keep it
类似示例:
import re
rx = r"\b\d+/\d+/\d+.*?(?=\b\d+/\d+/\d+|$)"
s = "28/11/2016 Mushroom 05/12/2016 Carrot 12/12/2016 Broccoli 19/12/2016 Potato"
results = re.findall(rx, s)
print(results)
最佳答案
你可以尝试:
import re
pattern = r"\d{2} [A-Z,a-z]{3} [0-9]{4} ([A-Z]{3}) (\d\.\d\d)"
string = "01 Feb 2023 CNY 0.00 559,929.32 **01 Feb 2023 CNY 0.00 0.00**"
responses = re.findall(pattern, string)
# printer
for i, response in enumerate(responses):
if i == 0:
print(response[0], end="")
print(" ", response[1], end="")
关于python regex - 如何拆分日期模式上的字符串 - 仅保留日期模式第二次出现后的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75368709/