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.ToStringC#正则表达式保留头尾替换中间为*
数据脱敏 身份证号码、证件号码
以下示例是保留前后两位,可以自行调控
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#正则表达式指定替换的主要内容,如果未能解决你的问题,请参考以下文章