python-将文本文件中[和]之间的每个单词的首字母大写
作者:互联网
编辑:此问题与其他“大写首字母”问题不同,因为它只需要在[[和]]之间使用大写.由于标题不完整,因此我对其进行了编辑.
我有一个文本文件,需要在其中重新格式化文本.
我已尝试在“ r”中打开文件时循环行和单词,但未成功.
这是一个示例:
Create Table Data(
[SOME ID] int,
[LAST NAME] varchar(30),
[FIRST NAME] varchar(30),
[TLA THING] smallint,
[TLA THING REMARK] varchar(255)
)
我希望[]之间每个单词的第一个字母大写.作为奖励,我希望[]之间的空格可以替换为下划线.
我试过的代码:
f = open('somescript.sql','r+')
for line in f:
for word in line:
word.capitalize()
我还尝试了f.write(word.capitalize())而不只是word.capitalize.所有结果都是同样悲惨的.
解决方法:
我将这样编码的方式:
>加载文件的全部内容
>使用模块re(re.sub会有所帮助)来转换需要
>用转换后的文本覆盖文件
执行:
txt = # load your file
pattern = re.compile(r"\[(.*)\]")
transform = lambda mo : mo.group(0).title().replace(" ", "_")
new_txt = pattern.sub(transform, txt)
# write new text
标签:capitalize,python 来源: https://codeday.me/bug/20191122/2056784.html