|
可以试下这个,优化的重点是将分配内存的次数降到最低。
<火山程序 类型 = "通常" 版本 = 1 />
方法 间隔插入指定文本 <公开 静态>
参数 原始文本 <类型 = 文本型 注释 = "所欲插入内容的文本">
参数 结果文本 <类型 = 文本型 注释 = "插入结果返回到此参数">
参数 插入内容 <类型 = 文本型 注释 = "所欲插入的内容" @默认值 = "\r\n">
参数 插入间隔 <类型 = 整数 注释 = "每隔多少个字符插入指定的内容" @默认值 = 5>
{
清空文本 (结果文本)
变量 文本长度 <类型 = 整数>
变量 文本指针 <类型 = 变整数>
文本长度 = 取文本长度 (原始文本)
文本指针 = 取文本指针 (原始文本)
如果 (文本长度 < 插入间隔)
{
置文本指针 (结果文本, 文本指针)
返回
}
变量 循环次数 <类型 = 整数>
循环次数 = 文本长度 / 插入间隔
置文本预分配字符数 (结果文本, 文本长度 + (循环次数 + 1) * 取文本长度 (插入内容))
计次循环 (循环次数)
{
添加部分文本指针内容 (结果文本, 文本指针, 插入间隔)
加入文本 (结果文本, 插入内容)
文本指针 = 文本指针 + 插入间隔 * 2
}
如果 (文本长度 % 插入间隔 > 0)
{
添加文本指针内容 (结果文本, 文本指针)
}
}
|
|