gpt4 book ai didi

python - 在 Python 中使用拆分函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:26 24 4
gpt4 key购买 nike

我正在使用 CSV 模块,我正在编写一个简单的程序,它采用文件中列出的几位作者的姓名,并以这种方式格式化它们:john.doe

到目前为止,我已经实现了我想要的结果,但是我在获取代码以排除诸如“Mr..Mrs”等标题时遇到了麻烦。我一直在考虑使用 split 函数,但我不确定这是否适合它。

有什么建议吗?提前致谢!

到目前为止,这是我的代码:

import csv


books = csv.reader(open("books.csv","rU"))


for row in books:


print '.'.join ([item.lower() for item in [row[index] for index in (1, 0)]])

最佳答案

这取决于字符串的困惑程度,在最坏的情况下,这种基于正则表达式的解决方案应该可以胜任:

import re
x=re.compile(r"^\s*(mr|mrs|ms|miss)[\.\s]+", flags=re.IGNORECASE)
x.sub("", text)

(我在这里使用 re.compile() 因为某些原因 Python 2.6 re.sub 不接受 flags= kwarg..)

更新:我写了一些代码来测试它,虽然我没能找到一种方法来自动检查结果,但它看起来工作正常。这是测试代码:

import re
x=re.compile(r"^\s*(mr|mrs|ms|miss)[\.\s]+", flags=re.IGNORECASE)
names = ["".join([a,b,c,d]) for a in ['', ' ', ' ', '..', 'X'] for b in ['mr', 'Mr', 'miss', 'Miss', 'mrs', 'Mrs', 'ms', 'Ms'] for c in ['', '.', '. ', ' '] for d in ['Aaaaa', 'Aaaa Bbbb', 'Aaa Bbb Ccc', ' aa ']]
print "\n".join([" => ".join((n,x.sub('',n))) for n in names])

关于python - 在 Python 中使用拆分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com