Mic*_*ell 2 java string stringbuffer
(java 1.5)
我需要在片段中构建一个String.我给了一组(子)字符串,每个字符串都有一个起点和终点,它们属于最后一个字符串.想知道是否有一些规范的做法.这不是家庭作业,我可以使用任何可授权的OSS,例如jakarta commons-lang StringUtils等.
我的公司有一个使用CharBuffer的解决方案,我很满意保留它(并添加一些单元测试,其中没有(?!))但代码相当可怕,我想要更容易阅读的东西.
正如我所说,这不是功课,我不需要一个完整的解决方案,只需要一些指向库或java类的指针,这可能会给我一些见解.String.Format看起来并不正确......
我必须尊重输入太长和太短等.子字符串将按它们出现的顺序重叠(如果重叠).
作为输入的一个例子,我可能有类似的东西:
字符串:开始:结束
FO:0:3(字符串短于字段)
BAR:4:5(字符串大于字段)
BLEH:5:9(字符串覆盖前一个字段)
我想结束
FO BBLEH
01234567890
Run Code Online (Sandbox Code Playgroud)
(编辑:对所有人 - StringBuilder(具体来说,"预分配到已知长度,然后使用.replace()"主题)似乎是我在想的.感谢所有建议的人!)
StringBuilder output = new StringBuilder();
// for each input element
{
while (output.length() < start)
{
output.append(' ');
}
output.replace(start, end, string);
}
Run Code Online (Sandbox Code Playgroud)
您还可以output在将任何字符串插入其中之前确定最终大小.您可以首先通过输入元素来查找最大的结尾.这将是最终的大小output.
char[] spaces = new char[size];
Arrays.fill(spaces, ' ');
output.append(spaces);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |