吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 718|回复: 7
收起左侧

[经验求助] 求一个正则表达式

[复制链接]
llx1224534055 发表于 2024-4-15 08:26
40吾爱币
本帖最后由 llx1224534055 于 2024-4-15 09:51 编辑

txt文档中的章节名怎么用正则表达方式改成第X章,我是小白、用的软件是txtformat,不会用Python
章节名示例1:
拼命苟活的第一天:
拼命苟活的第二天:
拼命苟活的第三天:
拼命苟活的第四天:
拼命苟活的第五天:
示例2:
营业第1招
营业第2招
营业第3招
营业第4招
营业第5招

两个示例需要改成:
第一/1章
第二/2章
第三/3章
第四/4章
第五/5章
求助大佬们、这种章节名用该怎么用正则改、求一个正则表达式!谢谢大佬们

最佳答案

查看完整内容

对于这种情况,你可以使用正则表达式来实现章节名的替换。下面是一个可以帮助你实现这个目标的正则表达式: 示例1的正则表达式:第(\w{1,})天 替换为:第$1章 示例2的正则表达式:第(\d{1,})招 替换为:第$1章 这两个正则表达式分别匹配示例1和示例2中的章节名,并将其替换为"第X章"的格式,其中X为原先匹配到的内容。希望这对你有帮助!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yourking1025 发表于 2024-4-15 08:26
对于这种情况,你可以使用正则表达式来实现章节名的替换。下面是一个可以帮助你实现这个目标的正则表达式:

示例1的正则表达式:第(\w{1,})天 替换为:第$1章

示例2的正则表达式:第(\d{1,})招 替换为:第$1章

这两个正则表达式分别匹配示例1和示例2中的章节名,并将其替换为"第X章"的格式,其中X为原先匹配到的内容。希望这对你有帮助!
hwl88618 发表于 2024-4-15 08:40
不同的软件对正则表达式的处理也不完全一样,写一个vim用的替换方法吧:
:%s/拼命苟活的第(.)天/第\1章/g
:%s/营业第(.)招/第\1章/g
notepad++:
查找目标:拼命苟活的第(.)天 替换为:第\1章
查找目标:营业第(.)招 替换为:第\1章
鹿坪 发表于 2024-4-15 08:47
好像没有什么统一的规律啊,格式有没有规律?比如标题前换了几个行
 楼主| llx1224534055 发表于 2024-4-15 09:20
yourking1025 发表于 2024-4-15 08:58
对于这种情况,你可以使用正则表达式来实现章节名的替换。下面是一个可以帮助你实现这个目标的正则表达式: ...

谢谢大佬回复、等晚上我试试这个方法、另外大佬能解答一下为什么示例1用的是W、示例2用的是D么、我是纯小白、以后遇到类似的章节名我该用哪个方法
syd1990 发表于 2024-4-15 09:41
[Python] 纯文本查看 复制代码
import re

# 示例文本
texts = [
    "拼命苟活的第一天:",
    "拼命苟活的第二天:",
    "拼命苟活的第三天:",
    "拼命苟活的第四天:",
    "拼命苟活的第五天:",
    "营业第1招",
    "营业第2招",
    "营业第3招",
    "营业第4招",
    "营业第5招"
]

# 中文数字到阿拉伯数字的映射
chinese_to_arabic = {
    "一": "1",
    "二": "2",
    "三": "3",
    "四": "4",
    "五": "5"
}

# 定义替换函数
def replace_chapter_name(text):
    # 匹配并替换中文数字
    text = re.sub(r'第(一|二|三|四|五)', lambda m: "第{}章".format(chinese_to_arabic[m.group(1)]), text)
    # 匹配并替换阿拉伯数字
    text = re.sub(r'第(\d)', r'第\1章', text)
    return text

# 应用替换
updated_texts = [replace_chapter_name(text) for text in texts]
for text in updated_texts:
    print(text)
 楼主| llx1224534055 发表于 2024-4-15 09:50
syd1990 发表于 2024-4-15 09:41
[mw_shl_code=python,true]import re

# 示例文本

谢谢大佬的热心回复、不过我没有用过这种软件、我用的是文档处理软件txtformat
 楼主| llx1224534055 发表于 2024-4-15 10:15
hwl88618 发表于 2024-4-15 08:40
不同的软件对正则表达式的处理也不完全一样,写一个vim用的替换方法吧:
:%s/拼命苟活的第(.)天/第\1章/g
...

谢谢大佬的热心回复、我目前用的软件是txtformat,大佬说的这个正则我晚上试试看有没有效果!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 20:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表