在 2 个分隔符之间插入文本
Insert text between 2 delimeters
我有一个看起来像这样的字符串
Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye
它有 16 个'~'将它分成 17 个"sections"。在第 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
var s1 = "there~is~a~~cat";
var s2 = "super";
var words = s1.Split('~').ToList();
//words.Insert(3, s2); // this will insert new token
words[3] = s2; // this will replace word at specific index
var res = string.Join("~", words.ToArray());
之后你的猫就会成为超级英雄,它会成为超级猫:)
如果你使用的是 C#,你可以使用这个:
string s = "Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye";
MessageBox.Show(s);
string[] parts = s.Split('~');
parts[YourIntegerIndex] = "YouNewString";
s = string.Join("~", parts);
MessageBox.Show(s);
我有一个看起来像这样的字符串
Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye
它有 16 个'~'将它分成 17 个"sections"。在第 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
var s1 = "there~is~a~~cat";
var s2 = "super";
var words = s1.Split('~').ToList();
//words.Insert(3, s2); // this will insert new token
words[3] = s2; // this will replace word at specific index
var res = string.Join("~", words.ToArray());
之后你的猫就会成为超级英雄,它会成为超级猫:)
如果你使用的是 C#,你可以使用这个:
string s = "Say_Hi~~~Say_Opt1~~Say_Opt3~~~Say_Opt6~~~Say_Opt9~~Say_GoodBye";
MessageBox.Show(s);
string[] parts = s.Split('~');
parts[YourIntegerIndex] = "YouNewString";
s = string.Join("~", parts);
MessageBox.Show(s);