首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#正则表达式替换

C#正则表达式替换
EN

Stack Overflow用户
提问于 2014-11-10 19:28:26
回答 2查看 95关注 0票数 0

我有一个字符串,可能包含四个子字符串之一:“四分之一:1”、“四分之一:2”、“四分之一:3”、“四分之一:4”。因此,我需要在“月份:1-3”、“月份:4-6”、“月份:7-9”、“月份:10-12”替换这样的子字符串。我如何使用c# Regex替换来完成这一任务?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-10 19:30:36

很简单:

代码语言:javascript
复制
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])),并使用回调函数替换。

票数 3
EN

Stack Overflow用户

发布于 2014-11-10 19:41:47

您不需要正则表达式。

代码语言:javascript
复制
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");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26851450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档