gpt4 book ai didi

string - 双向替换字符串中的子字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:09 25 4
gpt4 key购买 nike

<分区>

给定一个包含术语 AB 的字符串 M,我想将每个 A 替换为BAM' 的每个 B。天真的人会尝试用 B 替换 A,然后用 A 替换 B 但在那种情况下 M' 仅包含 A。我可以考虑替换条款并记录它们的位置,这样条款就不会被再次替换。当我们只有 A 和 B 需要替换时,这会起作用。但是,如果我们需要替换超过 2 个术语并且它们的长度不同,那么它就会变得棘手。

所以我想到了这样做:

  • 我们得到 M 作为输入字符串和 R = [(x1, y1), (x2, y2), ... (xn, yn)] 作为要替换的项,我们在这里替换xi for yi for all i.
  • 使用M,将L = [(M, false)] 初始化为一个(string * boolean) 元组列表,其中false 表示该字符串未被替换。
  • 在第二项为假的 L 的每个成员 L(i) 中搜索 xi 的出现。将 L(i) 划分为 [(pre, false), (xi, false), (post, false)],并映射到 [(pre, false), (yi, true), (post, false)] 其中 pre和 post 是 xi 前后的字符串。压平 L。
  • 重复上述直到R耗尽。
  • 将 L 的每个元组的第一个元素连接到 M'

有没有更有效的方法?

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