代码:

package fixsizestring;

public class TestClass {
    public static void main(String[] args) {
        for(int i=0;i<10;i++) {
            System.out.println(fixSizeStr("#"+i,10)+fixSizeStr("abcdefg",10)+fixSizeStr("北32京32",10)+fixSizeStr("广202州",10)+fixSizeStr(null,10));
            System.out.println(fixSizeStr2("."+i,10)+fixSizeStr2("abcdefg",10)+fixSizeStr2("北32京32",10)+fixSizeStr2("福322州",10)+fixSizeStr2(null,10));
        }
    }

    // 得到一定长度的字符串,不足补空格
    private static String fixSizeStr(Object obj, int size) {
        String str;
        if(obj==null) {
            str="null";
        }else {
            str=obj.toString();
        }

        int strLen;
        if (obj == null) {
            strLen = 0;
        }else{
            strLen= str.length();
        }

        if (strLen == size) {
            return str;
        } else if (strLen < size) {
            int temp = size - strLen;
            String tem = "";
            for (int i = 0; i < temp; i++) {
                tem = tem + " ";
            }
            return str + tem;
        }else{
            return str.substring(0,size);
        }
    }

    // 得到一定长度的字符串,不足补空格
    private static String fixSizeStr2(Object obj, int size) {
        String str;
        if(obj==null) {
            str="null";
        }else {
            str=obj.toString();
        }
        return String.format("%-"+size+"s", str);
    }
}

输出:

#0        abcdefg   北32京32    广202州     null
.0        abcdefg   北32京32    福322州     null
#1        abcdefg   北32京32    广202州     null
.1        abcdefg   北32京32    福322州     null
#2        abcdefg   北32京32    广202州     null
.2        abcdefg   北32京32    福322州     null
#3        abcdefg   北32京32    广202州     null
.3        abcdefg   北32京32    福322州     null
#4        abcdefg   北32京32    广202州     null
.4        abcdefg   北32京32    福322州     null
#5        abcdefg   北32京32    广202州     null
.5        abcdefg   北32京32    福322州     null
#6        abcdefg   北32京32    广202州     null
.6        abcdefg   北32京32    福322州     null
#7        abcdefg   北32京32    广202州     null
.7        abcdefg   北32京32    福322州     null
#8        abcdefg   北32京32    广202州     null
.8        abcdefg   北32京32    福322州     null
#9        abcdefg   北32京32    广202州     null
.9        abcdefg   北32京32    福322州     null      

--END-- 2019-12-06 13:59

[String]两个右补空格使字符串达到固定长度的函数 来自网上 请君自取的更多相关文章

  1. GBK格式字符串右补空格

    public class Test2 {   public static void main(String[] s) throws IOException {   List<User> l ...

  2. c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法

    通用方法: 此方法是采用unicode编码方式,一个汉字为2个字节,一个数字or字母是1个字节,此方法传入的第二个长度参数是unicode长度. 所以不用考虑截取的字符串是汉字还是英文字母的问题,参数 ...

  3. 算法进阶面试题01——KMP算法详解、输出含两次原子串的最短串、判断T1是否包含T2子树、Manacher算法详解、使字符串成为最短回文串

    1.KMP算法详解与应用 子序列:可以连续可以不连续. 子数组/串:要连续 暴力方法:逐个位置比对. KMP:让前面的,指导后面. 概念建设: d的最长前缀与最长后缀的匹配长度为3.(前缀不能到最后一 ...

  4. Oracle 给字符串补空格、补0

    利用lpad().RPAD()函数来实现给字符串补空格或补0的功能: 一.lpad()lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string]) ...

  5. C++中int转为char 以及int 转为string和string 转int和空格分隔字符串

    1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...

  6. String的trim()用于去掉字符串前后的空格

    String的trim()可以去掉字符串的前导和后继字符串,即去掉字符串前面和后面的空格. eg:String userName = " good man "; System.ou ...

  7. PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法

    一.数字补0. 如果要自动生成学号,自动生成某某编号,就像这样的形式“d0000009”.“d0000027”时,那么就会面临一个问题,怎么把左边用0补齐成这样8位数的编码呢?我想到了两种方法实现这个 ...

  8. java中int转成String位数不足前面补零

    java中int转成String位数不足前面补零 转载自:http://ych0108.iteye.com/blog/2174134 java中int转String位数不够前面补零 String.fo ...

  9. Java String类相关知识梳理(含字符串常量池(String Pool)知识)

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

随机推荐

  1. 剑指Offer(三十三):丑数

    剑指Offer(三十三):丑数 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baidu_31 ...

  2. python3 操作 hive 安装依赖包整理

    安装依赖pip install saslpip install thriftpip install thrift-saslpip install PyHive windows安装sasl报错,解决方案 ...

  3. linux网络编程之socket编程(一)

    今天开始,继续来学习linux编程,这次主要是研究下linux下的网络编程,而网络编程中最基本的需从socket编程开始,下面正式开始学习: 什么是socket: 在学习套接口之前,先要回顾一下Tcp ...

  4. linux的virtualenv和virtualenvwarpper

    转自:https://www.cnblogs.com/qq631243523/p/10191748.html 一,介绍 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的 ...

  5. 小程序框架之视图层 View~事件系统~WXS响应事件

    WXS响应事件 基础库 2.4.4 开始支持,低版本需做兼容处理. 背景 有频繁用户交互的效果在小程序上表现是比较卡顿的,例如页面有 2 个元素 A 和 B,用户在 A 上做 touchmove 手势 ...

  6. 基于h5+的微信分享,hbuilder打包

    1.打开app项目的manifest.json的文件,选择模块权限配置,将Share(分享)模块添加至已选模块中 2.选择SDK配置,在plus.share·分享中,勾选□ 微信消息及朋友圈,配置好a ...

  7. machine learning (1)

    Machine learning (1)   机器学习的两种定义 the field of study that gives computers the ability to learn withou ...

  8. oracle中日期相关的区间

    and czrqb.lsrqb_rh_sj >= to_date('[?query_date_begin|2011-09-01?]A', 'yyyy-mm-dd') and czrqb.lsrq ...

  9. pycharm 代码跟进以跳回/返回

    方法1 View-->Toolbar-->左上方的左右箭头,可以跳转光标位置,左箭头可以放回 方法2 设置快捷键 setting-->keymap-->Main menu--& ...

  10. easyui-datagrid统计

    <script> //打印指定的table function dayin() { var tableToPrint = document.getElementById("dg&q ...