.net 字符串中某个特定字符串的索引后添加新字符串 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string content = "<p>测试1</p><p>测试2</p><p>测试3</p><p>测试4</p><p>测试 5</p><p>测试6</p>"; int count = GetCharInStringCount("</p>", content);//获取</p>标记出现的次数 string insertStr = "<p>新增的文本内容</p>";//新增的字符串 Random ran = new Random(); int num = ran.Next(1, count - 1);//这里随机设置新增的位置 int rIndex = GetIndex(num, "</p>", content);//获取</p>这个标签出现第num次的索引值 string str_01 = content.Substring(0, rIndex+4);//截取上面索引值之前的字符串 string str_02 = content.Substring(rIndex + 4);//截取索引值之后的字符串 string str_03 = str_01 + insertStr + str_02;//拼接新的字符串 Response.Write(str_03); } } public static int GetIndex(int num, string str1, string str) { int rIndex = 0; int index = 0; int count = 0; while ((index = str.IndexOf(str1, index)) != -1) { count++; if (count == num) { rIndex = index;//第count次出现的索引是index break; } index = index + str1.Length; } return rIndex; } public static int GetCharInStringCount(string Char, string String) { string str = String.Replace(Char, ""); return (String.Length - str.Length) / Char.Length; }