最近使用正則表達式拆分化學式,且拆分後的化學式要換行顯示,於是用python正則表達式寫了一個拆分字符串且拆分後的字符串換行顯示的Demo,主要使用正則re模塊的findall方法。
關於findall的語法格式如下:
re.
findall
(pattern, string, flags=0)
參數說明:
pattern:正則表達式
string:待匹配的字符串
flags:說明匹配模式,比如是否大小寫re.I等
以下是Demo代碼:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
# 使用正則定義分隔符
pattern = r'[0-9a-zA-Z]+|[^0-9a-zA-Z]+'
# 需要拆分的字符串
chemical_str = "2H2+O2加熱2H2O2"
# 拆分字符串
chemical_list = re.findall(pattern, chemical_str)
# 換行
result_chemical_str = "\n".join(chemical_list)
print(result_chemical_str)
運行效果截圖如下: