gpt4 book ai didi

php - 文本转换 : Adding text according to previous occurrence

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:42:49 26 4
gpt4 key购买 nike

我有一个包含以下格式的多个问题的文本:

Q1

Question text 1?

1. Answer A
2. Answer B (+1p)
3. Answer C
4. Answer D

Q2

Question Text 2?

1. Answer A (+1p)
2. Answer B
3. Answer C (+1p)
4. Answer D

Q3

Question Text 3

1. Answer A
2. Answer B
3. Answer C (+1p)

正确答案标有 (+1p)。我想重新格式化它,以便在新的一行中陈述正确的答案,如下所示:

Q1

Question text 1?

1. Answer A
2. Answer B
3. Answer C
4. Answer D
Answer: B

Q2

Question Text 2?

1. Answer A
2. Answer B
3. Answer C
4. Answer D
Answer: A, C

Q3

Question Text 3

1. Answer A
2. Answer B
3. Answer C
Answer: C

这甚至可以在 Notepad++ 中完成吗?

最佳答案

救援正则表达式的魔力:

我们需要一个两步走的方法,

  1. 追加答案:

    • 查找内容: ((\R\d\.\h+Answer\h+[A-Z]+\h?(\(\+1p\))?)+)
    • 替换为: \1\r\n答案:
    • 检查正则表达式
    • 点击替换全部替换
  2. 现在我们收集答案:

    • 查找内容: Answer ([A-Z])\h\(\+1p\)(.*?Answer: [A-Z ]*)
    • 替换为: 回答\1\2\1
    • 检查正则表达式
    • 检查。匹配换行符
    • 点击替换全部替换。继续单击,一个 block 中有多个答案的情况需要与 block 中的答案一样多的全部替换。观察对话框状态栏中的消息。它会在您完成时告诉您。

在第一步中,查找尝试匹配完整的答案 block 并将其捕获到 \1 中。替换仅在 block 后添加一行。

第二步尝试(针对每个 block )捕获从第一个 (+1p)Answer: 的行。该发现使得 (+1p) not 已被识别。答案的 answer 字符 在\1 中捕获,以下答案直到 Answer: 行在\2 中捕获,我们附加 answer char 在 '\1' 到 'Answer:' 行。 (只需进行一些查找,查看匹配的内容,然后进行一些替换,以查看它如何与具有多个标记答案的 block 一起使用。您可以撤消以重播替换。)

关于php - 文本转换 : Adding text according to previous occurrence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34860851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com