【java/字符串】取固定长度的字符串,不足左补字符或右补字符的两函数
【需求】
取固定长度的字符串,不足左补字符或右补字符
如字符串为hello,固定长度为8,左补方案为***hello,右补方案为hello***
【实现代码】
package com.hy.lab; import java.util.Arrays; public class StringUtil { /** * 返回固定长度的字符串,多了截取,少了左补字符 * @param raw * @param fixSize * @param prefix * @return */ public static String leftAdd(String raw,int fixSize,char prefix){ int n=raw.length(); if(n==fixSize){ return raw; }else if(n>fixSize){ return raw.substring(0,fixSize); } char[] arr= new char[fixSize]; Arrays.fill(arr,prefix); for(int i=fixSize-n;i<fixSize;i++){ arr[i]=raw.charAt(i+n-fixSize); } return String.valueOf(arr); } /** * 返回固定长度的字符串,多了截取,少了右补字符 * @param raw * @param fixSize * @param prefix * @return */ public static String rightAdd(String raw,int fixSize,char prefix){ int n=raw.length(); if(n==fixSize){ return raw; }else if(n>fixSize){ return raw.substring(0,fixSize); } char[] arr= new char[fixSize]; Arrays.fill(arr,prefix); for(int i=0;i<n;i++){ arr[i]=raw.charAt(i); } return String.valueOf(arr); } public static void main(String[] args){ System.out.println(leftAdd("Hello",8,'*')); System.out.println(leftAdd("a",8,'_')); System.out.println(leftAdd("哈哈",8,'0')); System.out.println(leftAdd("HelloHe",8,'*')); System.out.println(leftAdd("HelloHello",8,'*')); System.out.println(leftAdd("HelloHel",8,'*')); System.out.println(); System.out.println(rightAdd("Hello",8,'*')); System.out.println(rightAdd("a",8,'_')); System.out.println(rightAdd("哈哈",8,'0')); System.out.println(rightAdd("HelloHe",8,'*')); System.out.println(rightAdd("HelloHello",8,'*')); System.out.println(rightAdd("HelloHel",8,'*')); } }
【输出】
***Hello _______a 000000哈哈 *HelloHe HelloHel HelloHel Hello*** a_______ 哈哈000000 HelloHe* HelloHel HelloHel
END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-03-10 【Canvas与化学】硅元素
2020-03-10 Oracle中select子句取值先于order by子句执行而导致rownum伪列未按预期取值导致的问题
2020-03-10 【Canvas与艺术】蓝波纹白底黄星徽章
2019-03-10 [JS]两个常用的取随机整数的函数
2019-03-10 【Canvas与艺术】十角大楼