如何使用Python正则表达式将单行内容转换为多行?
解决方法
这里提供两种简单的Python实现方式,帮你把单行格式的选项转换成多行:
方法1:正则表达式匹配(推荐,适配格式小变动)
利用正则匹配所有数字. 字母的条目,然后逐个打印或拼接成多行字符串:
import re # 你的原始单行数据 input_str = "1. B 2. E 3. E 4. D 5. E 6. A 7. A 8. E 9. E 10. D" # 匹配所有符合格式的条目 items = re.findall(r'\d+\. [A-Z]', input_str) # 转换成多行字符串 output_str = '\n'.join(items) # 打印结果 print(output_str)
运行后输出就是:
1. B 2. E 3. E 4. D 5. E 6. A 7. A 8. E 9. E 10. D
方法2:按固定格式分割拼接
如果你的输入格式绝对固定(每个选项都是数字. 字母,用空格分隔),可以直接分割后两两组合:
input_str = "1. B 2. E 3. E 4. D 5. E 6. A 7. A 8. E 9. E 10. D" # 按空格分割成列表 parts = input_str.split() # 每两个元素为一组,拼接成条目 items = [f"{parts[i]} {parts[i+1]}" for i in range(0, len(parts), 2)] # 转成多行 output_str = '\n'.join(items) print(output_str)
这个方法同样能得到你要的多行结果,缺点是如果格式有变动(比如某个选项后有多余空格),可能会出错,所以更推荐正则的方式。
内容的提问来源于stack exchange,提问作者Learn Hadoop
相关产品推荐
相关产品推荐

