Java中实现String.padLeft和String.padRight
2017-05-09 11:05
531 查看
因为习惯了C#中的padLeft和padRight,接触Java后突然失去这两个功能,觉得别扭,就试着实现了这两个方法。
Java中String.format()中带有字符串对齐功能如下:
输出:
以上方法经过简单的变换可以得到:
调用下面方法:
可以得到结果:
以上只是介绍左右对齐时,补空白符的方法,但是在实际开发过程中,单纯的补空白符也许满足不了开发要求,为此我还要做一次强化改进:
调用方法如下:
输出结果:
这样在Java中处理字符串对齐就可以像C#那样简单了。
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
- Java中实现String.padLeft和String.padRight的示例
- Java中实现String.padLeft和String.padRight
- String扩展 让你在PadLeft和PadRight时不再受单双字节问题困扰
- JS中的PadLeft、PadRight,位数不足,自动补位,String扩展方法
- SQL Server T-SQL LPAD & RPAD Functions (String Padding Equivalent to PadLeft & PadRight)
- Javascript 模拟 C#中 PadLeft 和 PadRight 的字符填充实现
- JS中的PadLeft、PadRight,位数不足,自动补位,String扩展方法
- string.PadLeft & string.PadRight
- C# string.PadLeft &&String.PadRight方法
- .Net FrameWork String.PadLeft() 、String.PadRight()、String.Substring()方法
- C语言实现的PadLeft,在str的左边使用bychar补齐为指定的长度
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- 自訂 SQL Server 的 PadLeft、PadRight 字串填補函數
- java string.split()函数的c/c++两种实现——strtok_r及string.find()
- 在java中实现日期类型和字符串类型的转换_所有(Date String Timestamp Datetime)
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- [转载]实现PadLeft的SQL脚本
- Trim(Right(Left(ValueOfString, End_Pos), End_Pos - begin_Pos + 1))
- C# 中用 PadLeft、PadRight 补足位数