正则表达式用空格替换字符串中的+

时间:2015-05-13 10:19:35

标签: c# regex

如何在C#中使用正则表达式替换所有字母字符和加号?

例如,输入为:

  

低于-10       20

预期产出:

  

-10       20

我现在的正则表达式是:

[A-Za-z ]

4 个答案:

答案 0 :(得分:2)

您可以使用Unicode character classes in C#,然后使用

[\p{L}\p{Zs}+]

其中\p{L}代表任何Unicode字母,\p{Zs}代表任何Unicode空间。字符类中的+被视为文字。

请参阅RegexStorm demo(转到上下文或拆分列表标签以查看实际替换)。

以下是示例工作代码(在VS2012中测试):

var rx = new Regex(@"[\p{L}\p{Zs}+]");
var result = rx.Replace("below -10\r\n+20", string.Empty);

enter image description here

答案 1 :(得分:1)

[A-Za-z+ ]

这应该为你做。

答案 2 :(得分:0)

您可以使用正则表达式排除替换:[^ 0-9-]。 它将删除除数字和减号之外的所有字符

答案 3 :(得分:0)

function displayLastFourSundays()
{
    var endOfCurrentYear = new Date();
    endOfCurrentYear.setFullYear((new Date().getFullYear()));
    endOfCurrentYear.setMonth(11);//months from 0 - 11  (0.o)
    endOfCurrentYear.setDate(31);
    //got end of year this way^

    var dateArr = new Array();
    var startDate = new Date(endOfCurrentYear.setDate(-5));//sets to 5th last day of previous month ie. Nov 25th to start at 5 weeks before the end of the year
    //create a new instance of date with end of year
    var tempDate = new Date(startDate.toString());
    for (var i = 0; i <= totalDays; i++)
    {
        tempDate.setDate(tempDate.getDate()+1);
        if (tempDate.getDay() == 0) // if sunday
            dateArr.push(new Date(tempDate));
    }
    var lastFourSundays = new Array();
    var numOfSun = dateArr.length, count = 0;
    for(var i = numOfSun - 4 , l = numOfSun; i < l; i++)
    {
        lastFourSundays.push(dateArr[i]);
            console.log("vvvvvvvvvvvvvvvvvvvv\nfound Sunday " + dateArr[i] + "\n^^^^^^^^^^^^^^^^^^^^");//do something with sunday
        if(count++ > 10)
            break;
    }
}

displayLastFourSundays();//execute our function