正则表达式删除某些字符周围不需要的空格

时间:2011-06-30 14:16:22

标签: c# .net regex

我正在尝试从JavaScript文件中删除一些不需要的空格,并在将文件发送到客户端之前使用C#和Regex组合文件。我有一个JavascriptHandler来处理.js文件,这很好。这是我用来“打包”JavaScript的功能。

private string PackJs(string file)
{
    string text = System.IO.File.ReadAllText(JSFolder + file);

    //replace any combination of unwanted whitespace with a single space
    text = Regex.Replace(text, @"[\r\n\s]+", " ");

    //Can I get this to match +, =, -, etc?
    text = Regex.Replace(text, @"( [=] )", "="); 

    //more regular expressions here, when I get round to it

    return text;
}

我的第二个表达式目前将用“=”替换“=”。我想指定更多字符和关键字,可以从任何一方删除空格。

如何在正则表达式中搜索此内容,然后在替换中反向引用该字符或关键字?

谢谢,

4 个答案:

答案 0 :(得分:4)

[]内放置你的角色

var input = "c = a + b";
var result = Regex.Replace(input, @"\s([=+])\s", "$1");

结果将是:c=a+b

答案 1 :(得分:1)

删除某些字符周围的空格,例如[=*/+-],请使用此正则表达式:

text = Regex.Replace(text, @"\s*([=*/+-])\s*", "$1");
<{1> []之间-字符必须是第一个或最后一个,以避免它是一系列字符的含义

test code example

答案 2 :(得分:1)

你为什么要重新发明轮子? 检查http://compressorrater.thruhere.net/

答案 3 :(得分:0)

text = Regex.Replace(text, @(" (=|\+|-) ", "$1");