当前位置:  开发笔记 > 编程语言 > 正文

使用C#从字符串中删除JavaScript注释

如何解决《使用C#从字符串中删除JavaScript注释》经验,为你挑选了3个好方法。

我试图从使用C#的sting中删除javascript注释(///**/).有人有RegEx吗?我正在阅读javascript文件列表,然后将它们附加到字符串并尝试清理javascript代码并轻松加载.Bellow你会发现其中一个RegEx可以正常/* */评论,但我也需要删除//评论:

content = System.Text.RegularExpressions.Regex.Replace(content,
    @"/\*[^/]*/", 
    string.Empty);

Marko Dumic.. 7

如果你想缩小Javascript文件("轻松加载"),为什么不试试Douglas Crockford的JSMin呢?页面底部有链接到c#实现(http://www.crockford.com/javascript/jsmin.cs)



1> Marko Dumic..:

如果你想缩小Javascript文件("轻松加载"),为什么不试试Douglas Crockford的JSMin呢?页面底部有链接到c#实现(http://www.crockford.com/javascript/jsmin.cs)



2> bobince..:

您不能使用简单的正则表达式从JS中删除注释 - 至少不可靠.想象一下,例如,试图处理像:

alert('string\' // not-a-comment '); // comment /* not-a-nested-comment
alert('not-a-comment'); // comment */* still-a-comment
alert('not-a-comment'); /* alert('commented-out-code');
// still-a-comment */ alert('not-a-comment');
var re= /\/* not-a-comment */; //* comment
var e4x= // not-a-comment;

你可以使你的正则表达式比现在更好地工作,使它以'*/'而不仅仅是'/'结束,并且在它周围包装一个or-clause,将//添加到新行的测试.但它永远不会是防弹的,因为正则表达式无法解析JavaScript或[X] HTML等语言.



3> CMS..:

Regex的替代品可以是.Net的YUI Compressor,它可以让您删除注释并缩小JavaScript代码.

// Note: string javaScript == some javascript data loaded from some file, etc.
compressedJavaScript= JavaScriptCompressor.Compress(javaScript); 

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有