你知道吗数据.txt包括大小写的单词。你知道吗
我需要lower case them all except for the upper-cased characters that appear in braces
,它们紧跟在可以以小写或大写结尾的单词后面,但是在第一个大括号之前没有空格。
e、 g
CAT{TT} Dog{DD} Horse{AA}
Snail{LL} RAT{TT}
ANT{AA}
这些应转化为:
cat{TT} dog{DD} horse{AA}
snail{LL} rat{TT}
ant{AA}
首先,我将列表中的所有内容降低大小写,并将它们放在lcChar
(代码如下)。然后我试着在大括号中找到小写的字符,这样我就可以再次将它们大写。你知道吗
作为一个python新手,我陷入了下面的代码中。这只给出了大括号中的第一项。我还假设我需要另一个循环,以便将大括号中出现的所有项都大写。有什么帮助,请让我能够理解处理这些问题的最佳方法?你知道吗
import re
f = open(r'C:\Python27\MyScripts\Data.txt')
for line in f:
lcChar = (line.lower())
patFinder1 = re.compile('{[a-z]+}')
findPat1=re.findall(patFinder1, lcChar)
re.sub
和re.subn
允许第二个参数是函数。Match对象被传递到该函数中,函数返回的任何内容都用于替换。你知道吗这是我的看法:
产生:
我本可以用
lambda
来代替,但这可以说不太清楚。你知道吗直截了当的方法:
说明:
我使用regex只匹配需要小写的内容:
然后我将结果循环并替换为小写版本。你知道吗
编辑:使用sub替换更多优化版本。你知道吗
相关问题 更多 >
编程相关推荐