我正在尝试搜索记事本++对于某些“线对”(lineA
,lineB
)将它们连接起来并丢弃其他任何内容。
每对线
lineA
必须包含逗号lineB
是紧随其后的一行,lineA
同时还包含单词“Proximity”
示例文本
1 "SCOTT, Michael"
2 "Office Manager"
3 "Card Number Card Format Disabled"
4 "0273ADNC PAC Proximity Reader False"
5 "Random rubbish"
6 "SCHRUTE, Dwight"
7 "Card Number Card Format Disabled"
8 "0897FFRF PAC Proximity Reader False"
连接文本:
1 "SCOTT, Michael;0273ADNC PAC Proximity Reader False"
2 "SCHRUTE, Dwight;0897FFRF PAC Proximity Reader False"
- 连接的行用分号分隔,以帮助我稍后解析它们
- “示例文本”中的额外第 2、3、5 和 7 行已被丢弃
答案1
不确定这是否是最清晰的想法......但它确实有效。
首先找到(所有不包含逗号或工作接近:
^((?!,|Proximity).)*$\R
并且用空值代替。
然后找到:
^("[A-Z]+,\s[A-Za-z]+)"$\R^"(.*Proximity.*")
并将其替换为:
\1;\2
或者您可以先查找:
^("[A-Z]+,\s[A-Za-z]+)"$\R(^.*\R?^.*\R?^.*\R?^.*\R?^.*\R?^.*\R?^.*\R?)^"(.*Proximity.*")
用。。。来代替:
\1;\3
这会将姓名行与卡号行合并。然后找到所有没有逗号的行并将其替换为空:
^[^,]*$\R