【问题标题】:Formatting text that is meant to be replaced格式化要替换的文本
【发布时间】:2019-01-22 06:26:17
【问题描述】:

这是一个相当笼统的问题,但我有一个文本文件,我想使用脚本对其进行编辑。

有哪些方法可以格式化文本,以便在视觉上突出但仍能被我的脚本识别? 当我使用 text_to_be_replaced 时它工作得很好,但是当你有一个大文件时很难找到它。

试过搜索,貌似常用的方法有:

%text_to_be_replaced% 
<text_to_be_replaced>
$(text_to_be_replaced)

但也许有一种常用/广泛接受的方式来格式化文本以提高可见性?

脚本所用的语言是 python,如果这很重要的话……但我正在寻找一种或多或少的通用解决方案,它可以在 90% 的时间内工作。

【问题讨论】:

  • Jinja2 恰好使用双花括号 ({{ text_to_be_replaced }}),所以我猜这很常见。
  • 不知道是不是标准,但是 Jinja2 使用{{ text_to_be_replaced }} 来渲染 HTML 模板
  • 没有一种可接受的格式。您只需要选择一个您熟悉的并确保您正确处理您的特殊字符(包含要替换的文本)。你可以看看python的templated strings
  • 好吧,事实上你有两个 cmets 在 4 秒内说同样的话,这至少表明它会被识别:)
  • @Leiocalyx 您能否发布您正在运行的脚本,以便我们可以看到您所处的环境?

标签: python text replace formatting conventions


【解决方案1】:

我不知道这里有任何通用标准,但是如果要替换它,您可以使用新的字符串格式化方法,如下所示:

string = 'some text {add_text_here} some more text'

然后在需要的时候替换它:

value = 'formatted'

string = string.format(add_text_here=value)

现在打印出来:

>>> string
'some text formatted some more text'

事实上,在需要替换的文本周围添加卷曲的{brackets} 也可以使它更加突出一点。

【讨论】:

  • Python 端一切正常,我正在读取外部文本文件,进行编辑,并将结果写入另一个(空)文件。但是随着我需要编辑/插入的东西的数量增加,我必须使用越来越多的占位符来标记我想要最终值的确切位置。而且由于位置很重要,我不能只是追加。
  • 所以只是添加大量空的{} 并替换它们不适合您的需求吗?因为,如果你用这种方法,把括号留空,你就可以按位置顺序传入你要替换的东西,这样既节省时间,打字也更快
【解决方案2】:

起初我认为 {{curly 大括号}} 会很好,但后来我选择了 $ALLCAPS。

首先,大写字母非常突出,而小写字母可能会与其他代码混淆。 虽然它 $REALLYSTANDSOUT,但它不应该引起任何问题,因为它只是文本文件中的一个“书签”,并且将被脚本确定的适当内容替换。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2019-02-16
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    相关资源
    最近更新 更多