编程语言
首页 > 编程语言> > python-将文本文件中[和]之间的每个单词的首字母大写

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