Python脚本替换多占位符成Android标准占位符格式

如常见的翻译文案中,当存在多个占位符状况下,须要将多个%s占位符成Android标准占位符格式,如%1 s , s,%2 s,%3$s...不然,在Gradle构建过程当中,某些版本的AAPT上会构建失败。html

AAPT: multiple substitutions specified in non-positional format.
复制代码

所以,须要用脚本进行批量替换。 本文Mark下,防止后续用到相似脚本,主要都是一些Python语法细节。markdown

def replace_multi_placeholder_text(input_file):
    lines = []
    with open(input_file) as src:
        for line in src:
            num = line.count("%s")
            if num > 1:
                for i in range(num):
                    target = '%%%d$s' % (i+1,)
                    line = line.replace('%s', target, 1)
            lines.append(line)

    with open(input_file, 'w') as dst:
        for line in lines:
            dst.write(line)
    return
复制代码
相关文章
相关标签/搜索