java left pad在一个中间有空格的字符串中

时间:2014-02-17 09:30:00

标签: java spaces pad

我正在寻找JSE 1.7.0.52中针对此问题的多线程进程中的性能解决方案:

我有一个字符串例如:“12697 26”

我需要一个字符串“00012697 26”

这意味着我不能将String.formatter方法用作:

String c = "   12697 26    ";<br />
String.format( "%1$15s", c);<br /><br />

因为结果与输入相同。 15s用左边的空格填充字符串,但我需要用零填充....

新版Java中存在一些性能解决方案? 亲切的问候

2 个答案:

答案 0 :(得分:1)

String input = "   12697 26    ";
StringBuilder s = new StringBuilder(input);
for (int i = 0  ; i<s.length() && s.charAt(i) == ' ' ; i++) {
    s.setCharAt(i, '0');
}

System.out.printf("'%s'", s.toString());

'00012697 26'

答案 1 :(得分:0)

代码是..

String func(String s)
{
    int flag=0;
    String temp="":
    for(int i=0;i<s.length();i++)
    {
        if(flag==0&&s.charAt(i)==' ')
        temp+="0";
        else
        {
            flag=1;
            temp+=s.charAt(i);
         }
    }
    return temp;
  }