C#正则表达式指定替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#正则表达式指定替换相关的知识,希望对你有一定的参考价值。

name+age+sex
想把以上字符串转换成
lilei+21+man

正则表达式如何写,谢谢
不好意思,我没说清楚, 补充一下,Replace解决不了我的问题
00:IFTMBF:BOOKING:9:Sender:6:CarrierNo;13:TIME;12;yyyyMMddhhmm:Cnts;8:Anys;10:2.0'
以上是我要处理的字符串中的一行,
花括号里面内容是我要替换掉成我的自己的属性
所以还是要用到正则表达式吧? 求指教

这个不用正则表达式吧?
.NET里,直接String.Replace()不就可以了吗?

正则表达式是验证一个字符串是否拥有某种特定的样式 (Pattern),比如电子邮件地址,都会有@,@后面都是xx.xxx或xx.xxx.xxx之类,使用正则表达式可以灵活又精确地描述这种pattern。比如对电子邮件地址,可以描述成:^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$,等等。

总之,你的问题不涉及pattern,没有必要使用正则表达式。

看了你补充的,还是觉得不用正则,因为它是用来验证样式的,不是用来抽取字符串的,虽然验证样式往往是替换或抽取字符串的前一步。

Sender:6,TIME;12;yyyyMMddhhmm什么的无非就是字段名称,字段长度,和字段格式,我猜这些应该是固定的,还是用String.Replace("TIME;12;yyyyMMddhhmm", your_datetime.ToString("yyyyMMddhhmm"));就可以了。追问

replace 一行可以替换多个么?

参考技术A 问题要详细明了,这不浪费大家的时间 参考技术B name.ToString + Convert.ToInt32(age)+sex.ToString

C#正则表达式保留头尾替换中间为*

数据脱敏 身份证号码、证件号码
以下示例是保留前后两位,可以自行调控

  public string ReturnCertificateNumNO(string CERTIFICATE_NUMBER)
        
            string pattern = @"(?<=[\\d]2)\\d(?=[\\S]2)";
            Regex rgx = new Regex(pattern);
            var res = rgx.Replace(CERTIFICATE_NUMBER, "*");
           
            return res;
        

以上是关于C#正则表达式指定替换的主要内容,如果未能解决你的问题,请参考以下文章

c# 正则表达式提取()中的值

C# 正则表达式 Replace的功能

正则表达式在 C# 中按组替换

使用正则表达式c#替换文档中的文本字段

c#使用正则表达式提取内容

c# 正则表达式截取字符串