使用C#正则表达式将字符串转换为字符串 [英] Use C# regex to convert casing in a string

查看:38
本文介绍了使用C#正则表达式将字符串转换为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何转换此字符串:

bKk_035A_paint-House_V003

BKK_035a_paint-House_v003

带有正则表达式(例如Regex.Replace)?
此正则表达式与字符串匹配:

with a regular expression (e.g. Regex.Replace)?
This regex matches the string:

^(?<Group1>[a-z][a-z0-9]{1,2})_(?<Group2>\d{3}[a-z]{0,2})_(?<Group3>[a-z-]+)_(?<Group4>v\d{3,5})$

  • Group1 =大写
  • Group2 =小写
  • Group3 =不变
  • Group4 =小写
  • 感谢您的帮助,
    帕特里克

    Thanks for any help,
    Patrick

    推荐答案

    正则表达式与第一个字符串不匹配...

    the Regex doesn't match the first string...

    我假设您想将前三个字符大写,并将其余的小写?

    I assume you want the first 3 chars upper case, and the rest lowercase?

    这是第一遍:

    const string mod = @"^([a-z][a-z0-9]{1,2})(_\d{3}[a-z]{0,2}_[a-z]+_v{1}\d{3,5})$";
    var converted = 
        new Regex(mod, RegexOptions.IgnoreCase)
            .Replace(input1, 
                m => string.Format(
                       "{0}_{1}",
                       m.Groups[1].ToString().ToUpper(),
                       m.Groups[2].ToString().ToLower()
                     )
                    );
    

    这篇关于使用C#正则表达式将字符串转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆