【问题标题】:How to replace numeric suffix of a value 3 times, increment suffix, and repeat with Text Pastry?如何将值的数字后缀替换 3 次,增加后缀,并用 Text Pastry 重复?
【发布时间】:2015-11-24 10:29:16
【问题描述】:

我需要创建 210 个复选框,每个复选框都有唯一的名称、id 和 label for 值。

复选框位于表格中,其中一个表格有 6 个复选框。

我已经为 54 个复选框(9 个表)手动完成此操作,并且希望自动创建最后 156 个复选框(26 个表)。

因此我想自动递增:

  • 姓名
  • 身份证
  • label for

这是我能看到的最简单的方法:

  • 为 26 个表创建基本结构(见下文)。

  • 为 Sublime Text 使用 Text Pastry 插件。

  • 使用此示例的变体:

https://github.com/duydao/Text-Pastry/wiki/Examples#insert-nums-syntax

  • 使用说明:

    • 找到“checkbox00”
    • 替换为“checkbox55”
    • 对 3 个实例执行此操作
    • 增加替换文本中使用的数字并重复其余实例。

这就是 Text Pastry 的设计初衷吗?

如果是这样,并且解释的任务不是太大,我们将不胜感激具体的指示。

<!-- BEGIN table 10 -->
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox" />
        <label for="checkbox00" class="css-label">custom_text_A</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox"/>
        <label for="checkbox00" class="css-label">custom_text_B</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox" />
        <label for="checkbox00" class="css-label">custom_text_C</label>
    </td>
</tr>
    <tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox" />
        <label for="checkbox00" class="css-label">custom_text_D</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox"/>
        <label for="checkbox00" class="css-label">custom_text_E</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox" />
        <label for="checkbox00" class="css-label">custom_text_F</label>
    </td>
</tr>
<!-- END table 10 -->
<!-- BEGIN table 11 -->
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox" />
        <label for="checkbox00" class="css-label">custom_text_A</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox00" id="checkbox00" class="css-checkbox"/>
        <label for="checkbox00" class="css-label">custom_text_B</label>
    </td>
</tr>
<!-- ... etc, continue for 26 tables -->

【问题讨论】:

  • 你考虑过使用一些脚本动态地创建所有这些 html 吗?
  • 是的,我现在正在写一个python脚本来做,完成后会发布。
  • 不要在问题中发布您的解决方案,而是将其作为答案。

标签: html sublimetext3 sublime-text-plugin


【解决方案1】:

更新/解决方案

这是我快速整理的一个 Python 脚本,它似乎可以完成我想要它做的事情:

my_string = "<tr><td class=\"area_checkbox\"> \
<input type=\"checkbox\" name=\"checkbox00\" id=\"checkbox00\" class=\"css-checkbox\" /> \
<label for=\"checkbox00\" class=\"css-label\">custom_text_00</label> \
</td></tr>"
growing_string = ""
cb_suffix = 55
text_suffix = 1
for i in range(156):
    if text_suffix <= 6:
        temp_string = my_string.replace("checkbox00", "checkbox" + str(cb_suffix),3)
        temp_string_2 = temp_string.replace("custom_text_00", "custom_text_0" + str(text_suffix))
        growing_string += temp_string_2
        cb_suffix += 1
        text_suffix += 1
    else:
        text_suffix = 1
        temp_string = my_string.replace("checkbox00", "checkbox" + str(cb_suffix),3)
        temp_string_2 = temp_string.replace("custom_text_00", "custom_text_0" + str(text_suffix))
        growing_string += temp_string_2
        cb_suffix += 1
        text_suffix += 1

print growing_string

然后我将输出复制到JSFiddle 并单击TidyUp 进行格式化:)。

样本输出:

<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox55" id="checkbox55" class="css-checkbox" />
        <label for="checkbox55" class="css-label">custom_text_01</label>
    </td>
</tr>
<tr>
    <td class="area_checkbox">
        <input type="checkbox" name="checkbox56" id="checkbox56" class="css-checkbox" />
        <label for="checkbox56" class="css-label">custom_text_02</label>
    </td>
</tr>

【讨论】:

    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 2023-03-24
    • 2021-06-25
    • 2015-04-19
    • 2017-09-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多