搜索/替换在记事本++中的块选择中

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

有一种方法可以限制搜索/仅替换为记事本++中的柱状块选择。 我想做的是我要做的事情: 从大量照片中提取的大量编辑元数据。

元数据作为CSV文件来到我身边,在标题线中没有引号,每个后续行中的第一字段都没有引号。

    I在Open Office计算中编辑此文件,该文件在所有字段周围都用引号导出。
  • 我可以轻松编辑标头行,但问题出在连续的第一个字段的剥离引号中。

  • I可以在列模式下使用记事本,但是,在选择第一列之后,将“仅在选择中搜索”选项框被弄清楚。
  • 我可以手工做到这一点,但这意味着大量的手工工作和增加错误的机会。
  • 我知道,这可能不会再有所帮助,但是我只是遇到了同样的问题,偶然发现了这个问题。
  • i发现将有关块移至新文件,并执行查找/替换在那里的工作非常非常好。向后移动块时,请确保在块模式下选择它(请参阅this thisQuestion

    )。

  • 没有。 另一个编辑可能具有此功能。

  • 延迟回复,但是...当我安装了Notepad ++的新机器时,我也遇到了同样的问题。 以前,我使用的是一个名为Boxer的文本编辑器,该编辑器具有此功能,我发现这是无价的。 它不是免费的。
  • 您可能无法在柱形选择中搜索/替换,但是您可以在Notepad ++中轻松执行任务。 使用查找和替换功能,并使用
  • 式表达式
replace notepad++ block selection
4个回答
3
投票
如果您只想从目标列中删除引号,请使用以下正则表达式在

find

字段中:

(^([^,]*,){i})"([^,\n\r]*)"(.*$)

取代

0
投票
,在目标列的位置减去1.

(即 - 美国2如果您想在第三列周围引号,第一列0等)

0
投票

replace

现场使用:

0
投票
\1\3\4

点击“替换”将从目标列中剥离引号。 如果您想吹走CSV中每个元素周围的所有引号,而不会偏见,请在find

字段中使用以下正则表达式:

((?<=,)|(?<=^))"(.*?)"((?=$|,))

replace
现场使用:

\1\2\3

点击

replaceall

将剥离引号形成列。

示例

由于您没有提供示例CSV文件,我将浏览自己的工作示例。 下面是我的CSV:
 "0","1","2","3","4","5","6","7","8","9"
 "10","11","12","13","14","15","16","17","18","19"
 "20","21","22","23","24","25","26","27","28","29"
 "30","31","32","33","34","35","36","37","38","39"
 "40","41","42","43","44","45","46","47","48","49"
 "50","51","52","53","54","55","56","57","58","59"
 "60","61","62","63","64","65","66","67","68","69"
 "70","71","72","73","74","75","76","77","78","79"
 "80","81","82","83","84","85","86","87","88","89"
 "90","91","92","93","94","95","96","97","98","99"
 "100","101","102","103","104","105","106","107","108","109"
 "110","111","112","113","114","115","116","117","118","119"
 "120","121","122","123","124","125","126","127","128","129"
 "130","131","132","133","134","135","136","137","138","139"
 "140","141","142","143","144","145","146","147","148","149"
 "150","151","152","153","154","155","156","157","158","159"
 "160","161","162","163","164","165","166","167","168","169"
 "170","171","172","173","174","175","176","177","178","179"
 "180","181","182","183","184","185","186","187","188","189"
 "190","191","192","193","194","195","196","197","198","199"

如果我想从第二列中删除引号,我将使用以下
find

replace字段

 (^([^,]*,){1})"([^,\n\r]*)"(.*$)

 \1"\3"\4

点击placepplactAll会产生以下结果:

"0",1,"2","3","4","5","6","7","8","9" "10",11,"12","13","14","15","16","17","18","19" "20",21,"22","23","24","25","26","27","28","29" "30",31,"32","33","34","35","36","37","38","39" "40",41,"42","43","44","45","46","47","48","49" "50",51,"52","53","54","55","56","57","58","59" "60",61,"62","63","64","65","66","67","68","69" "70",71,"72","73","74","75","76","77","78","79" "80",81,"82","83","84","85","86","87","88","89" "90",91,"92","93","94","95","96","97","98","99" "100",101,"102","103","104","105","106","107","108","109" "110",111,"112","113","114","115","116","117","118","119" "120",121,"122","123","124","125","126","127","128","129" "130",131,"132","133","134","135","136","137","138","139" "140",141,"142","143","144","145","146","147","148","149" "150",151,"152","153","154","155","156","157","158","159" "160",161,"162","163","164","165","166","167","168","169" "170",171,"172","173","174","175","176","177","178","179" "180",181,"182","183","184","185","186","187","188","189" "190",191,"192","193","194","195","196","197","198","199"
    

我在互联网上搜索,以查看天气记事本++ suports;把我带到这里。 我已经使用了TextPad,并确认它支持列中选定块中的发现和重新定位。另外,文字板是免费的。

我可能很晚回答此查询,但这对以后绊倒这个问题可能会有所帮助。
as perthis

-我能够在列模式下选择数据。将光标放在文本的开始。然后按

Shift+Alt

,然后继续将鼠标拖到最后选择。


最新问题
© www.soinside.com 2019 - 2024. All rights reserved.