删除作为后续行的子字符串的行
Posted
技术标签:
【中文标题】删除作为后续行的子字符串的行【英文标题】:Deleting a row which is substring of the subsequent row 【发布时间】:2016-08-06 08:54:21 【问题描述】:在 Libre office calc 中,我有一个标准,我需要删除一行,以防它是前一行的子字符串。 IE 如果输入是
ABC
ABCDE
XYZ
XYZRE
我应用正则表达式,输出必须是
ABCDE
XYZRE
【问题讨论】:
尝试用$1
替换^(.+)[\r\n]+\1
。
对不起@WiktorStribiżew。我无法遵循答案
我理解 LO 中正则表达式的方式,它们适用于每个单元格,而不是每个电子表格。一个简单的解决方法是将电子表格从 calc 导出为 CSV 格式,并在处理正则表达式搜索和替换的文本编辑器上使用 Wiktor Stribiżews 正则表达式。
谢谢两位。我正在做 CSV 。但问题是它选择了两个条目并替换它们。我只想保留第二个,同时删除第一个。
所以,我稍微修改了@WiktorStribiżew 的答案,将 $1 替换为 /1
【参考方案1】:
您需要先捕获一行,然后是换行符,然后使用对捕获的组值的反向引用,以确保下一行从之前的整行开始。
使用
^(.+)[\r\n]+\1
替换为
$1
有些编辑器需要\1
而不是$1
。
【讨论】:
以上是关于删除作为后续行的子字符串的行的主要内容,如果未能解决你的问题,请参考以下文章