我有一个字符串列表,我想将每个字符串拆分为一个浮点数。如果字符串中没有浮点数,我想将它拆分为一个数字。它应该只拆分一次并返回它之前和之后的所有内容,并用逗号分隔。
输入字符串:
['Naproxen 500 Active ingredient Ph Eur',
'Croscarmellose sodium 22.0 mg Disintegrant Ph Eur',
'Povidone K90 11.0 Binder 56 Ph Eur',
'Water, purifieda,
'Silica, colloidal anhydrous 2.62 Glidant Ph Eur',
'Water purified 49 Solvent Ph Eur',
'Magnesium stearate 1.38 Lubricant Ph Eur']
预期输出:
['Naproxen', '500', 'Active ingredient Ph Eur',
'Croscarmellose sodium', '22.0 mg', 'Disintegrant Ph Eur',
'Povidone K90', '11.0', 'Binder Ph Eur',
'Water, purifieda',
'Silica, colloidal anhydrous', '2.62', 'Glidant Ph Eur',
'Water purified', '49', 'Solvent Ph Eur',
'Magnesium stearate', '1.38', 'Lubricant Ph Eur']
我的代码:
for i in newresult:
regex_float_part = re.split(r'\s+(\d+\.\d+)\s+', i, 1)
# print(regex_float_part)
# regex_float_part_n = [item for sublist in regex_float_part for item in sublist]
if regex_float_part:
all_extract.append(regex_float_part)
else:
# regex_integer = r'\s+(\d+(?:\\d+)?)\s+'
regex_integer_part = re.split(r'\s+(\d+(?:\\d+)?)\s+', i, 1)
# regex_integer_part_n = [item for sublist in regex_integer_part for item in sublist]
all_extract.append(regex_integer_part)
问题在于这个输入字符串:
'Water purified 49 Solvent Ph Eur',
这并不像预期的那样:
'Water purified', '49', 'Solvent Ph Eur'
那就是代码不会进入其他部分。一个观察是我的正则表达式的拆分函数正在创建一个列表列表,即 regex_float_part 和 regex_integer_part 是列表列表。谁能帮我解决我的代码没有响应的字符串的问题
梵蒂冈之花
素胚勾勒不出你
相关分类