feat:提交
This commit is contained in:
82
tests/dev1/dataHandle/common/base/StringBuidler.ts
Normal file
82
tests/dev1/dataHandle/common/base/StringBuidler.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
export class StringBuider
|
||||
{
|
||||
strings: string[]
|
||||
|
||||
constructor()
|
||||
{
|
||||
this.strings = []
|
||||
}
|
||||
|
||||
/** 插入 */
|
||||
Append(obj: any)
|
||||
{
|
||||
this.strings.push(obj)
|
||||
}
|
||||
|
||||
/** 插入文本 */
|
||||
AppendString(str: string) { this.strings.push(str) }
|
||||
|
||||
/** 格式化 插入 */
|
||||
AppendFormat(str: string, ...arg: any[]): string
|
||||
{
|
||||
for (let i = 0; i < arg.length; i++)
|
||||
{
|
||||
let parent = `\\{${i}\\}`
|
||||
let reg = new RegExp(parent, 'g')
|
||||
str = str.replace(reg, arg[i])
|
||||
}
|
||||
this.strings.push(str)
|
||||
return str
|
||||
}
|
||||
|
||||
/** 添加一行(回车) */
|
||||
AppendLine(str = '')
|
||||
{
|
||||
if (str != null)
|
||||
{
|
||||
this.AppendString(str)
|
||||
}
|
||||
}
|
||||
|
||||
/** 插入 */
|
||||
Insert(index: number, ...strs)
|
||||
{
|
||||
if (strs.length == 0)
|
||||
return
|
||||
if (index > this.strings.length)
|
||||
index = this.strings.length
|
||||
if (index < 0)
|
||||
index = 0
|
||||
this.strings.splice(index, 0, ...strs)
|
||||
}
|
||||
|
||||
/** 删除片段 */
|
||||
Remove(startIndex: number, length: number): string[]
|
||||
{
|
||||
return this.strings.splice(startIndex, length)
|
||||
}
|
||||
|
||||
/** 所有文本 */
|
||||
ToString(): string
|
||||
{
|
||||
return this.strings.join('\r\n')
|
||||
}
|
||||
|
||||
/** 清空 */
|
||||
Clear() { this.strings = [] }
|
||||
|
||||
/** 容量 */
|
||||
get size() { return this.strings.length }
|
||||
/** 文本数 */
|
||||
get Count() { return this.strings.length }
|
||||
|
||||
GetStringLength(): number
|
||||
{
|
||||
let length = 0
|
||||
for (const str of this.strings)
|
||||
{
|
||||
length += str.length
|
||||
}
|
||||
return length
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user