如何使用正则表达式或通配符将多行压缩为单行/更少行?

问题描述 投票:0回答:1

我想通过用通配符替换更改的值,将具有一些公共元素的多行字符串压缩为单行或更少的行。

示例

输入:

Lorem ipsum dolor sit amet_0
Lorem ipsum dolor sit amet_1
Lorem ipsum dolor sit amet_2
Cursus risus at ultrices mi tempus imperdiet
Cursus risus at scelerisque mi tempus imperdiet

输出:

Lorem ipsum dolor sit amet_*
Cursus risus at * mi tempus imperdiet

我可以使用任何工具来实现此目的吗? 如果没有,有哪些方法可以实现这一目标? 谢谢

我尝试寻找任何可以执行此操作的工具,但没有找到。

regex wildcard text-processing pattern-recognition
1个回答
0
投票

我不确定您是否已经找到了可以为您执行此操作的工具。 但如果我这样做,我想我会使用 VSCode 来查找并替换正则表达式,然后删除重复项。

通用步骤/逻辑:

  • 查找所有公共行,使用正则表达式用通配符替换字符串
  • 使用正则表达式,删除重复行(如果需要,您可能还想检查是否有其他 IDE 或编辑器可以为您删除重复行)

要使用 VSCode 执行此操作,您可以执行以下操作:

  1. Control+F
  2. 切换“替换模式”
  3. 切换“使用正则表达式”(带有 .* 符号的图标)
  4. 在搜索字段中,输入
    Lorem ipsum dolor sit amet_(.*)
  5. 在“替换为”字段中,输入
    Lorem ipsum dolor sit amet_*
  6. 单击全部替换按钮
  7. 在搜索字段中,输入
    ^(.*)(\n\1)+$
  8. 在“替换为”字段中,输入
    $1
  9. 单击全部替换按钮

对其他线重复相同的步骤:

  • 搜索:
    Cursus risus at (.*) mi tempus imperdiet
  • 替换为:
    Cursus risus at * mi tempus imperdiet
© www.soinside.com 2019 - 2024. All rights reserved.