2014-09-02 216 views
2

这是我的数据。Notepad ++ - 使用正则表达式来查找并用逗号替换某些空格

256 heavy we,ambidext 
498 lockpick (none) 
657 teaching teaching 
112 night op auto wea 
295 stealthy on roof 
214 teaching electron 
746 night op teaching 

如何将逗号放在第一行逗号下面的所有空格中?例如:

256 heavy we,ambidext 
498 lockpick,(none) 
657 teaching,teaching 
112 night op,auto wea 
295 stealthy,on roof 
214 teaching,electron 
746 night op,teaching 

似乎应该很简单。我搜索了一段时间没有任何运气的答案。谢谢您的帮助!

感谢您的回复。在每行的末尾有返回(在N ++中以CRLF显示)。有没有办法使用正则表达式来说这样的:找到一个回报(可以用其他字符替换返回,如果有帮助),然后从返回中找到7到10个字符之间的空格并将其更改为逗号?

我最终在Notepad ++中使用了列选择功能(按住Alt键然后用鼠标选择),之后我使用我选择的TextFX Find/Replace插件来更改空格。这工作得很好。谢谢!

+0

它不能通过正则表达式完成.. – 2014-09-02 11:01:10

+0

你能分两步做吗?即,首先确定第一个逗号的位置,然后构造一个正则表达式,用以下所有行中的逗号替换该位置的所有空格? – 2014-09-02 11:06:33

+0

我不认为这是如此简单,你认为是。您希望通过NotePad ++正则表达式将行中的某个功能(逗号)扩展到下一行。我对Notepad ++的了解并不像其他程序那样深入,但我所了解的大多数工具中的正则表达式都是逐行应用的。换句话说,匹配空白字符的正则表达式并不知道其他行中的逗号。 – Jdamian 2014-09-02 11:09:17

回答

2

很难建立一个正则表达式来实现你的目标,因为没有规则的要求,有时一个字,多一些字。

但是,如果您说输入文本格式与您的示例完全相同,则可以将,添加到某个列。其实这是唯一的规则/模式我在你的文字中发现,那么你可以用正则表达式做到这一点,像

取代^(.{12})\s\1,

那么你得到的输出。

P.S.与更好 :-)编辑喜欢vim,你可以只需Ctrl-V你的专栏,然后r,完成。

+0

看起来我们都来到相同的结果:)。 +1有更好的解释! ;) – hek2mgl 2014-09-02 11:12:02

+1

@Kent您也可以在N ++中进行列编辑,并且该模式肯定更容易。 – Jerry 2014-09-02 11:59:23

+0

@Jerry好吧......很高兴认识它,thx。如果我有更多机会使用它,我会更好地了解notepad ++。 – Kent 2014-09-02 12:06:26

3
  1. 保持Alt键按压从第一位置(第2行,列13)
  2. 点击鼠标左键并拖动,直到最后一行

你'重做。

+0

这真的很好!事实上,这是最简单的。谢谢! – 2014-09-05 05:37:22

+0

这个功能真酷。也许你应该补充一点,你必须在点3之前释放[Alt]。 – Wolf 2015-09-04 11:06:49

相关问题