s='15300120001Will SmithCOMP110033.01A\n15300230125G. WashingtonCOMP110032.02B-\n14300390256Bill GatesCOMP110021.01C+\n'
请问如何分割s得到如图所示的的效果呢?
摸索了大半天了都不对劲。
python如何分割字符串
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 菜猫小六 2021-12-07 12:15关注
s='15300120001Will SmithCOMP110033.01A\n15300230125G. WashingtonCOMP110032.02B-\n14300390256Bill GatesCOMP110021.01C+\n' for text in s.split('\n'): if text: for value in re.findall("(\d{11})(.*)(COMP\d{6}\.\d{2})([ABC][+-]?)",text): print value
打印的话可以
import re s = '15300120001Will SmithCOMP110033.01A\n15300230125G. WashingtonCOMP110032.02B-\n14300390256Bill GatesCOMP110021.01C+\n' for text in s.split('\n'): if text: for value in re.findall("(\d{11})(.*)(COMP\d{6}\.\d{2})([ABC][+-]?)", text): print '\t'.join(value)
有需要排版对其可以使用format,
import re s = '15300120001Will SmithCOMP110033.01A\n15300230125G. WashingtonCOMP110032.02B-\n14300390256Bill GatesCOMP110021.01C+\n' for text in s.split('\n'): if text: for value in re.findall("(\d{11})(.*)(COMP\d{6}\.\d{2})([ABC][+-]?)", text): print "{:<15}{:^20}{:<10}\t{:<10}".format(value[0],value[1],value[2],value[3])
输出的那行的数字可以稍微调整一下,输出大概是
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度