我有一个字符串,可能包含四个子字符串之一:“四分之一:1”、“四分之一:2”、“四分之一:3”、“四分之一:4”。因此,我需要在“月份:1-3”、“月份:4-6”、“月份:7-9”、“月份:10-12”替换这样的子字符串。我如何使用c# Regex替换来完成这一任务?
发布于 2014-11-10 19:30:36
很简单:
var result = Regex.Replace(input, @"QUARTER:([1-4])", match => {
switch (match.Groups[1].Value) {
case "1": return "MONTHS:1-3";
case "2": return "MONTHS:4-6";
case "3": return "MONTHS:7-9";
case "4": return "MONTHS:10-12";
default: return match.Value; // Can't really happen but needed for the return
}
});只需找到正确的模式(QUARTER:([1-4])),并使用回调函数替换。
发布于 2014-11-10 19:41:47
您不需要正则表达式。
var result = input.Replace("QUARTER:1", "MONTHS:1-3")
.Replace("QUARTER:2", "MONTHS:4-6")
.Replace("QUARTER:3", "MONTHS:7-9")
.Replace("QUARTER:4", "MONTHS:10-12");https://stackoverflow.com/questions/26851450
复制相似问题