2012-09-21 51 views
1

我想用记事本++与给定的字符数一样,以取代在一条直线上的前导空格。因此,举例来说,我想改变:替换前导空格用记事本++

zero 
one 
    two 
    three 

到:

zero 
@one 
@@two 
@@@three 

我都没有取得成功,在得到这个工作。我确实发现Regex to replace html whitespace and leading whitespace in notepad++,但无法获得我想要的结果。

记事本+ +这可能吗?我宁愿没有编写代码来做到这一点...

回答

4

蒂姆的回答表明,这不能在一个单一的搜索做/替换,但这里是如何你可以很快地使用多个替换完成相同的任务:

查找:^(*)[ ]

更换搭配:\[email protected]

现在只是垃圾邮件的“全部替换”按钮,直到它表明没有匹配替换。这将在每次点击每行的开始处替换一个空格,因此它需要与最缩进的行相同数量的点击次数。

确保“正则表达式”作为搜索模式。

+0

谢谢!这就是我需要的;我想我只是没有完全理解原帖的答案。 –

+0

@Andrew Clark我用你的正则表达式替换了大文本文件中的前导空格,只用“”(一个空格)替换为“替换为”字符。仅适用于此处发生的人:“全部替换”按钮可以正常工作,并且不需要使用多次点击。这可能是因为这个功能在所有这个帖子都是5岁后才被添加:-)(并且仍然非常有用) – salvu

1

您需要可变长度向后断言这样做在一个单一的正则表达式,和记事本+ +不支持这些。

根据记录,在EditPadPro您可以搜索(?<=^ *)\s@取代。