.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;
}