/// <summary>
/// 在任意A前插入n个B
/// </summary>
/// <param name="str">要操作字符串对象</param>
/// <param name="A">目标</param>
/// <param name="B">要插入的值</param>
/// <param name="n">每次插入的次数</param>
/// <returns></returns>
public static string AdvancedInsert(this string str, string A, string B, int n = 1)
{
int head = 0, end = str.IndexOf(A);
StringBuilder res = new StringBuilder();
while (end >= 0)
{
//找到“A”位置
res.Append(str.Substring(head, end - head));
//插入n个B
for (int i = 0; i < n; i++)
{
res.Append(B);
}
head = end;
end = str.IndexOf(A, end + 1);
}
//加入剩下的尾部
res.Append(str.Substring(head));
return res.ToString();
}
简单示例