我继承了一个项目,其中所有私有变量,有数千个,由空行分隔。例如,
private pnlSecurityReport _pnlSecurityReport = null;
private pnlCalendar _pnlCalendar = null;
private CtlContacts _pnlContacts = null;
private pnlEmails _pnlEmails = null;
private CtlNotes _pnlNotes = null;
private pnlRoles _pnlRoles = null;
private pnlSecurity _pnlSecurity = null;
private pnlSignatures _pnlSignatures = null;
这真烦人。我想删除空白行。除了编写我自己的工具以寻找和删除额外的行之外,有没有办法在搜索和替换对话框中使用RegEx-Fu执行此操作?
答案 0 :(得分:4)
尝试将\n\n
替换为\n
,同时选中Use Regular Expressions
。
答案 1 :(得分:3)
未经过彻底测试,但这样的方法可行:打开“替换”对话框,选中“正则表达式”,在“查找”文本框中输入{^:b*:w+:b+:i:b+:i:b+=:b+.*;$\n}\n
,在“替换”中输入\1
用“文本框。
总之;匹配匹配模式word identifier identifier = value;
后跟空行的行,标记除最后一个换行符之外的所有匹配项,然后将完整匹配替换为带标记的表达式。
这样做的好处是不会盲目地删除文件中的所有空白行,而只会删除典型的字段或变量声明与值赋值相结合后的空白行。
表达分解:
{ - Start of tagged expression
^ - Match beginning of line
:b* - Zero or more whitespace characters (such as space or tab)
:w+ - One or more alphabetic characters
:b+ - One or more whitespace characters
:i - An identifier string
:b+ - One or more whitespace characters
:i - An identifier string
:b+ - One or more whitespace characters
= - an equal sign
:b+ - One or more whitespace characters
.+ - One or more characters of any kind
; - a semicolon
$ - end of the line
\n - a newline
} - end of tagged expression
\n - a newline
答案 2 :(得分:1)
如果你有UltraEdit,你可以替换|使用正则表达式:
查找:^ p $
替换:“”(即没有任何引号,引用用于说明)