博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中实现String.padLeft和String.padRight
阅读量:4702 次
发布时间:2019-06-10

本文共 1728 字,大约阅读时间需要 5 分钟。

因为习惯了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#那样简单了。

效率也是有保障的。

 

转载于:https://www.cnblogs.com/preacher/p/6826585.html

你可能感兴趣的文章
小甲鱼OD学习第1讲
查看>>
HDU-1085 Holding Bin-Laden Captive-母函数
查看>>
php提示undefined index的几种解决方法
查看>>
LRJ
查看>>
Struts2环境搭建
查看>>
Linux: Check version info
查看>>
stl学习之测试stlen,cout等的运行速度
查看>>
魔戒三曲,黑暗散去;人皇加冕,光明归来
查看>>
Error和Exception
查看>>
Python和Singleton (单件)模式[转载]
查看>>
httpclient设置proxy与proxyselector
查看>>
IT常用单词
查看>>
拓扑排序
查看>>
NYOJ--32--SEARCH--组合数
查看>>
JMS
查看>>
gulpfile 压缩模板
查看>>
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>