如何在C#中使用正则表达式替换所有字母字符和加号?
例如,输入为:
低于-10 20
预期产出:
-10 20
我现在的正则表达式是:
[A-Za-z ]
答案 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);
答案 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