Python如何移除列表中字符串开头的数字序号及点号
移除行首带点数字序号的实现方案
你之前用pop()、remove()没成功很正常——这两个方法都是对列表元素做整体增删,没法精准剥离每行开头固定格式的前缀,用正则匹配行首特征替换是最通用的解法,不管序号是1位还是多位都能适配,也不会误删句子正文里的数字和点号。
可直接运行的Python代码
import re raw_content = """1. Bezpośrednie stosowanie norm konstytucyjnych. 2. Rodzaje i hierarchia metod wykładni prawa podatkowego. 3. Utrata mocy obowiązującej przepisu prawa. 4. Unormowania Konstytucji RP odnoszące się do tworzenia prawa podatkowego. """ cleaned_items = [] for line in raw_content.splitlines(): stripped_line = line.strip() if not stripped_line: continue # 匹配规则:行首 -> 1个及以上数字 -> 英文点号 -> 点号后任意个空白字符,全部替换为空 pure_text = re.sub(r"^\d+\.\s*", "", stripped_line) cleaned_items.append(f"'{pure_text}'") # 按要求用空行拼接最终结果 final_output = "\n\n".join(cleaned_items) print(final_output)
运行后得到的结果
'Bezpośrednie stosowanie norm konstytucyjnych.' 'Rodzaje i hierarchia metod wykładni prawa podatkowego.' 'Utrata mocy obowiązującej przepisu prawa.' 'Unormowania Konstytucji RP odnoszące się do tworzenia prawa podatkowego.'
如果不想引入正则库,也可以遍历每行找到第一个.的位置,从点号后一位开始截取内容再去空格,但这种写法如果正文开头就带点号容易出错,优先用正则方案更稳妥。
内容的提问来源于stack exchange,提问作者AleksyA
相关产品推荐
相关产品推荐

