字符串生成器,主要用于优化大量字符串拼接的效率。
创建的对象内部使用动态指针,并负责自动释放动态指针。
要切记对象虽然可以在 API 中转换为普通指针使用
但任何可能导致自动调整内存大小操作都有可能改变动态指针指向的内存,并使原指针失效。
创建字符串生成器,不允许跨线程传递此对象。
可选在参数中指定预分配内存大小。
生成器对象可使用 +
或 ++
操作符连接字符串、buffer、结构体,或使用[]
操作符取字节码,
此对象可用于拼接字符串,并自动调整内存大小,
在大字符串频繁拼接时可明显提升速度,
小字符串少量拼接不需要使用此对象
追加数据可以是字符串、buffer、结构体、其他指针。
如果参数不是指针追加长度可省略。
此函数可能改变内部动态指针值。
使用 printf 函数格式化文本。
此函数可能改变内部动态指针值
重置初始值
参数可以是字符串,buffer,或结构体
此函数可能改变内部动态指针值
返回预分配内存大小。
释放指针后此函数返回0
for(i in StringBuilderObject.eachIndexOf(/*查找内容*/)){
}
存储内容是否为空。
释放内存。
此函数设置内部动态指针值为null
释放动态指针以后,仍然可以调用reserve函数重新分配内存
自UTF16编码转换为多字节编码字符串,默认为 UTF-8。
参数 @1 以字符计数,即 2 个字节为一个单位,字符数只能为数值,省略时默认值为 -1。
字符数为 -1 表示查找 '\u0000'
终止符获取可打印文本长度。
参数用一个字符串指定要查找的单字节字符。
返回任意字符最初出现的位置,找不到返回值为空
普通字符串查找。
不使用模式匹配语法。
从左侧截取参数指定长度的字符串。
返回字符串对象,参数可用负数表示右侧截取位置
不会改变内部动态指针值
调整预分配内存大小,返回自身。
小于存储内容大小时则设为存储内容大小。
为 0 时设为 1024。
此函数可能改变内部动态指针值
释放动态指针以后,仍然可以调用此函数重新分配内存
调整存储内容大小。
增加大小时可能改变内部动态指针值。
减小大小或者设为 0 时仅改变存储的有效数据长度,不会重新分配内存也不会实际修改内存数据。
从右侧截取参数指定长度的字符串。
返回字符串对象,参数可用负数表示左侧截取位置
不会改变内部动态指针值
返回存储内容大小。
释放指针后此函数返回 0。
转换为纯文本字符串
如果需要转换为二进制字符串,直接使用 tostring 函数转换 string.builder 对象即可。
去掉尾部多余终结符转换为纯文本字符串,参数可省略,偏移默认为 0。
参数 @1 为 true 反回字符串标记会设置 UTF-16 标记,否则设为 UTF-8 标记
截取字符串。
返回字符串对象,参数不能为负数
开始位置省略则表示1,结束位置省略则表示存储内容尾部
不会改变内部动态指针值
转换并返回 UTF16 编码字符串。
字节数可省略,默认为 -1。
字节数为 -1 时表示查找 '\0'
终止符自动获取长度
for(i in StringBuilderObject.eachIndexOf("/*单字节分割符*/")){
}
清除两侧空白字符
可选用一个字符串指定要清除的单字节字符。
清除左侧空白字符。
可选用一个字符串指定要清除的单字节字符。
清除右侧空白字符。
可选用一个字符串指定要清除的单字节字符。
在尾部写入一个或多个字符串、buffer、结构体参数。
其他类型参数转换为字符串写入,遇到 null 值停止写入。