.net 字符串中某个特定字符串的索引后添加新字符串

来源:互联网 发布:口气清新的牙膏 知乎 编辑:程序博客网 时间:2024/06/11 09:59

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


阅读全文
0 0