替换正则表达式中的“行号”

时间:2016-11-16 14:24:59

标签: regex notepad++

我正在转换带有C#代码描述的字段的CSV列表,以便描述新类。这将用于将具有130个字段的实体框架实体映射到CSV。

我成功捕获了字段名称和描述性名称,并替换为属性语法

"?([^",\n]+)"?,"?([^",\n]+)"?,"?([^",\n]+)"?,"?([^",\n]+)"?
[CsvColumn\(Name="$2",FieldIndex=1\)][DisplayName\("$2"\)] public string $1 {get; set;}\n

这需要一个属性定义,如(0是来自DB的常量)

paulaBean,"Brilliant","Paula Bean is Brilliant",0

并生成类似

的属性
[CsvColumn(Name="Brilliant",FieldIndex = 1)]
[DisplayName("Brilliant")]
public string paulaBean {get; set;}

我使用LinqToCsv库并使用属性排序。我希望我的属性按照它们在类中出现的顺序编码为CSV,这是它们在原始CSV列表中出现的顺序

问题是

使用正则表达式,如何将FieldIndex = 1替换为实际出现次数或行号或任何增量?我只需要从1到130订购字段,并为我的正则表达式生成的每个属性获得不同的增量编号。

2 个答案:

答案 0 :(得分:0)

notepad ++不可能

下载TextPad

确保光标位于文件顶部

打开替换功能:

Find: FieldIndex = \d+
Replace by:  \i

全部替换

答案 1 :(得分:0)

可以,您只需使用Shift-Alt-Down选择列,然后使用“编辑”菜单中的“列编辑器”。请参阅此处的教程 - https://www.youtube.com/watch?v=_4PQ1ZLxYk0(不是我的)