请教正则表达:字符串“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”该如何写?
...全文
117 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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");

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧