RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 862016
Accepted
Антон Корф
Антон Корф
Asked:2020-07-30 18:51:08 +0000 UTC2020-07-30 18:51:08 +0000 UTC 2020-07-30 18:51:08 +0000 UTC

按顺序替换数字

  • 772

您需要按顺序将所有 111 替换为数字。如何实施?理想情况下,应该设置数字报告,例如从 3000 开始。谢谢。

前

后

像这样的源代码:

<item id="111">
<title>Заголовок</title>
<description>Описание</description>
<images>
<image id="111">фото1</image>
<image id="111">фото2</image>
</images>
</item>
<item id="111">
<title>Заголовок</title>
<description>Описание</description>
<images>
<image id="111">фото1</image>
<image id="111">фото2</image>
</images>
</item>
<item id="111">
<title>Заголовок</title>
<description>Описание</description>
<images>
<image id="111">фото1</image>
<image id="111">фото2</image>
</images>
</item>
текст
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. gil9red
    2020-07-30T20:39:34Z2020-07-30T20:39:34Z

    python3中通过正则表达式的算法:

    import re
    
    text = """\
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
    """
    
    counter = 3000 - 1
    
    def on_sub(_):
        global counter
        counter += 1
        return f'id="{counter}"'
    
    new_text = re.sub(r'id="\d+"', on_sub, text)
    print(new_text)
    

    中的文字new_text:

    <item id="3000">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="3001">фото1</image>
    <image id="3002">фото2</image>
    </images>
    </item>
    <item id="3003">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="3004">фото1</image>
    <image id="3005">фото2</image>
    </images>
    </item>
    <item id="3006">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="3007">фото1</image>
    <image id="3008">фото2</image>
    </images>
    </item>
    

    PS。python被解释了,所以它需要一些可以运行的东西,这意味着它需要安装一个解释器。

    为了给客户,您可以:

    • 构建可执行文件,例如使用:pyinstaller、py2exe等。
    • 与 python 解释器 ( python.exe) 一起提供。那些。将有一个包含解释器和程序脚本的文件夹。并且会使用 cmd/bash 脚本来运行,比如:python.exe main.py
    • 如果您使用类 Unix 系统,那么它已经有 python,所以您可以运行脚本。

    另一种选择是制作一个将处理客户端文本的 Web 服务器;在 python 中,这最容易通过flask或bottle来完成。

    此外,如果您制作桌面实用程序,您需要决定它是控制台还是图形。如果是图形的,那么你需要决定通过哪个库来创建界面:tkinter(默认包含在python库中)、Qt、GTK等。

    • 1
  2. Best Answer
    gil9red
    2020-07-30T20:56:40Z2020-07-30T20:56:40Z

    我认为,鉴于不确定性,做一些在任何地方都可以使用的东西更容易——html + javascript。

    您可以在这里在线尝试(存储库):https ://gil9red.github.io/static_site_for_id_replace/

    我对此有一点经验,所以结果在我的膝盖上:

    <!DOCTYPE HTML>
    <html>
        <head>
            <meta charset="utf-8"/>
            <script>
                function run() {
                    var text = document.getElementById("input").value;
                    var counter = 3000;
    
                    while (text.includes('id="111"')) {
                        text = text.replace('id="111"', 'id="' + counter + '"');
                        counter++;
                    }
                    
                    document.getElementById("output").value = text;
                }
            </script>
        </head>
        <body>
            <table>
                <tr>
                    <td>
                        <textarea id="input" cols="50" rows="20">
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
    <item id="111">
    <title>Заголовок</title>
    <description>Описание</description>
    <images>
    <image id="111">фото1</image>
    <image id="111">фото2</image>
    </images>
    </item>
                        </textarea>
                    </td>
                    <td>
                        <textarea id="output" cols="50" rows="20"></textarea>
                    </td>
                </tr>
                <tr><td><button onclick="run()">Выполнить!</button><td></tr>
            </table>
        </body>
    </html>
    

    截屏:

    在此处输入图像描述


    PS.html将代码保存为文件格式并将其传输给需要它的任何人就足够了。客户端需要通过浏览器打开,插入/输入数据并点击按钮

    • 1

相关问题

  • vim中重音字符的自动更正

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5