如何在Python中提取多行字符串中从冒号到行尾的子串
实现方案
你可以按以下逻辑处理:先将多行字符串拆分为独立的行,逐行定位冒号的位置,再从冒号位置截取到行尾即可。
可直接运行的代码示例
some_string = """ Blah blah 1: blah blah Blah blah 2: blah blah Blah blah 3: blah blah Blah blah 4: blah blah """ for line in some_string.splitlines(): # 跳过无冒号的空行/无效行 if ':' not in line: continue # 查找冒号所在索引,从该位置切片到行尾输出 print(line[line.index(':'):])
运行后输出和你期望的效果完全一致:
: blah blah : blah blah : blah blah : blah blah
你现有代码的问题
你之前的写法仅统计了冒号、换行的数量,且使用固定位置切片,无法适配每一行冒号的动态位置,所以无法实现需求。
内容的提问来源于stack exchange,提问作者Abhirajshri Winsome
相关产品推荐
相关产品推荐

