Java中實現String.padLeft和String.padRight

來源:互聯網
上載者:User

標籤:結果   9.png   style   src   ring   處理   logs   array   format   

因為習慣了C#中的padLeft和padRight,接觸Java後突然失去這兩個功能,覺得彆扭,就試著實現了這兩個方法。

 

Java中String.format()中帶有字串對齊功能如下:

System.out.println(String.format("*%1$-10s*", "moon"));System.out.println(String.format("*%1$10s*", "moon"));

輸出:

 

以上方法經過簡單的變換可以得到:

public static String padWhitespaceLeft(String s, int len) {    return String.format("%1$" + len + "s", s);}public static String padWhitespaceRight(String s, int len) {    return String.format("%1$-" + len + "s", s);}

調用下面方法:

System.out.println("*" + padWhitespaceLeft("moon", 12) + "*");System.out.println("*" + padWhitespaceRight("moon", 12) + "*");

可以得到結果:

 

以上只是介紹左靠右對齊時,補空白符的方法,但是在實際開發過程中,單純的補空白符也許滿足不了開發要求,為此我還要做一次強化改進: 

    /**     * @作者 堯     * @功能 String靠左對齊     */    public static String padLeft(String src, int len, char ch) {        int diff = len - src.length();        if (diff <= 0) {            return src;        }        char[] charr = new char[len];        System.arraycopy(src.toCharArray(), 0, charr, 0, src.length());        for (int i = src.length(); i < len; i++) {            charr[i] = ch;        }        return new String(charr);    }    /**     * @作者 堯     * @功能 String靠右對齊     */    public static String padRight(String src, int len, char ch) {        int diff = len - src.length();        if (diff <= 0) {            return src;        }        char[] charr = new char[len];        System.arraycopy(src.toCharArray(), 0, charr, diff, src.length());        for (int i = 0; i < diff; i++) {            charr[i] = ch;        }        return new String(charr);    }

調用方法如下:

System.out.println("*" + padLeft("moon", 12, ‘-‘) + "*");System.out.println("*" + padRight("moon", 12, ‘-‘) + "*");

輸出結果:

 

這樣在Java中處理字串對齊就可以像C#那樣簡單了。

效率也是有保障的。

 

Java中實現String.padLeft和String.padRight

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.