如何从CSV中删除字符串中的特定单词(在Python中)?

时间:2017-12-29 12:44:34

标签: python string csv

如果字符串以' a'开头,我想重写CSV行。或者''。出于此目的,我们可能会使用string.startswith()

问题可能是这样严重说的:

if string.startswith('A' or 'The')
  remove 'a' and 'the'; keep the rest of the string; rewrite the row

假设CSV为:

ID    Book                Author
1.    A Study in Scarlet  Conan Doyle
2.    Aboltabol           Sukumar Roy
3.    The Bible           Matthew

应该看起来像:

    ID    Book                Author
    1.    Study in Scarlet    Conan Doyle
    2.    Aboltabol           Sukumar Roy
    3.    Bible               Matthew

我们如何在Python中执行此操作?

1 个答案:

答案 0 :(得分:1)

使用正则表达式模块

import re

pattern = re.compile("^(A|The)\s+(.+)", flags=re.IGNORECASE)

def process(word):
    w = pattern.match(word)
    return w.group(2) if w else word

process('A Study in Scarlet')  # 'Study in Scarlet'
process('Aboltabol')  # 'Aboltabol'
process('The Bible')  # 'Bible'

虽然如果您需要效果,startswith + split会更快。