【发布时间】:2015-06-05 20:16:34
【问题描述】:
我有一个看起来像这样的字符串
Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye
它有 16 个 '~' 将其分为 17 个“部分”。在第 5 节中,我需要插入 Say_Opt5。
Say_Hi~~~Say_Opt1~~Say_Opt3~~Say_Opt5~Say_Opt6~~~Say_Opt9~~Say_GoodBye
所以我需要能够获取一个字符串和一个位置,并将字符串插入指定的位置。我尝试使用正则表达式,但我不确定匹配是如何工作的。
string baseString = "Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye";
var newString = new Regex("~").Replace(baseString, "Say_Opt5", 7);
另外,可能已经有选项5了,所以我需要用新的选项5替换旧的选项5。比如替换
Say_Hi~~~Say_Opt1~~Say_Opt3~~Say_Opt5~Say_Opt6~~~Say_Opt9~~Say_GoodBye
与
Say_Hi~~~Say_Opt1~~Say_Opt3~~Say_Opt5_Custom~Say_Opt6~~~Say_Opt9~~Say_GoodBye
【问题讨论】:
-
展示你的尝试——全世界都会尝试解决它!
-
为什么位置 7(从 0 开始)是第 5 节?
-
如果有option5的话,那就是opt5去的位置。至于为什么,答案总是遗留。