请教正则表达:字符串“S-J.ZP.06-改1”或 “S-J.ZP.06”中的“06”替换为“2006”该如何写?

refine 2006-10-31 05:04:13
请教正则表达:字符串“S-J.ZP.06-改1”或 “S-J.ZP.06”中的“06”替换为“2006”该如何写?
...全文
106 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
petshop4 2006-11-01
  • 打赏
  • 举报
回复
youstr=Regex.Replace(youstr,"(?<=-(.*?\\.){2})(.*?)(?=-)","BOB");
refine 2006-10-31
  • 打赏
  • 举报
回复
谢谢petshop4,可如果是“D-Z.SCC.AA-改D.1”中的“AA”换成“B0B”呢?"-"、"."、"."、"-"这四个字符位置固定,其它都不固定,最后的字符“-改D.1”也可能没有
petshop4 2006-10-31
  • 打赏
  • 举报
回复
要转义 真麻烦
youstr=Regex.Replace(youstr,"(?<=\\.)(\\d+)(?=-)","20$1");
petshop4 2006-10-31
  • 打赏
  • 举报
回复
上面错了
youstr=Regex.Replace(youstr,"(?<=\.)(\d+)(?=-)","20$1");
petshop4 2006-10-31
  • 打赏
  • 举报
回复
youstr=Regex.Replace(youstr,"(?<=\.)(\d+)(?=-)","00$1");
ff167 2006-10-31
  • 打赏
  • 举报
回复
如果只是06,直接用replace就可以了吧.就算是正则也是匹配"06"而已.
refine 2006-10-31
  • 打赏
  • 举报
回复
其中符号"-","."的个数和位置是固定的分隔符,其它字符是不固定的,包括“06”,长度也可变。
refine 2006-10-31
  • 打赏
  • 举报
回复
其中"-","."是固定的
bobo0124 2006-10-31
  • 打赏
  • 举报
回复
"S-J.ZP.06-(改1){0,1}"

string s = "S-J.ZP.06-改1";
s =s.Replace("06","2006");
发帖
C#

10.9w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-31 05:04
社区公告

让您成为最强悍的C#开发者