string noNewlines = new Regex("\\n+").Replace(" ",oldString);
这里的一点是,我完成了一次替换后,我不需要Regex对象,我喜欢能够将其表示为一个单行.这个成语有什么不明显的问题吗?我的一些同事对此表示不满,但没有任何似乎是一个很好的理由.
(我已经将它标记为C#和Java,因为上述成语是常见的,可用于两种语言.)
但是我不会像你的例子那样使用这种模式.有两种替代方法更好.
更好的方法:使用静态方法Regex.Replace(string,string,string).当有可用的静态方法执行相同的事情时,没有理由用新式语法模糊你的意思.
最佳方法:如果您使用相同的方法使用相同的静态(不是动态生成的)正则表达式,并且您很多地调用此方法,则应将Regex对象作为私有静态字段存储在包含该方法的类中,因为这避免了在每次调用方法时解析表达式.