gpt4 book ai didi

正则表达式,如何在第 n 个 | 之后删除竖线分隔文件中的换行符?

转载 作者:行者123 更新时间:2023-12-01 10:34:37 25 4
gpt4 key购买 nike

我有一个竖线分隔文件,每行 35 个竖线。在第 35 个字段之后有一个预期的换行符。例如:

FirstField|ME|HERE|PHONE|Description|.....|LastField
FirstField|YOu|THERE|PHONE|Description|.....|LastField

但是,管道之间的某些数据(例如在描述字段中)包含换行符。例如:

FirstField|Them|Where|PHONE|This contains a
LineFeed
Or two
or more|.....|LastField

问题是,如何删除 35 个字段中的任何一个而不是行尾的换行符?

(注意:我正在使用 Notepad++ 进行测试)

最佳答案

您可以利用 Notepad++ PythonScript 插件。

See instructions on how to install a working version here并创建以下脚本文件:

def repl(match):
return match.group(0).replace("\r\n", "").replace("\n", "").replace("\r", "")

editor.rereplace(r'^[^|]*(?:\|[^|]*){36}$', repl)

如果您将脚本文件命名为 replace_lbr_inblock.py,您将能够通过选择 Plugins -> Python Script 来调用它 -> 脚本 -> replace_lbr_inblock

正则表达式 ^[^|]*(?:\|[^|]*){36}$ 匹配

  • ^ - 行首
  • [^|]* - |
  • 以外的零个或多个字符
  • (?:\|[^|]*){36} - | 的 36 个序列,后跟零个或多个管道
  • $ - 行尾。

之前:

enter image description here

之后:

enter image description here

关于正则表达式,如何在第 n 个 | 之后删除竖线分隔文件中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466757/

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