package com.jiajian.start.util; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.stream.Collectors; import java.util.stream.Stream; /** * TODO: * * @author jiajian * @date 2023/4/11 10:29 */ public class StringUtil { List<String> uppers = Stream.iterate((int)'A',(x)->(x+1)).limit(26). map(x->String.valueOf((char) ((int)x))).collect(Collectors.toList()); List<String> lowers = Stream.iterate((int)'a',(x)->(x+1)).limit(26). map(x->String.valueOf((char) ((int)x))).collect(Collectors.toList()); List<String> numbers = Stream.iterate(0,(x)->x+1).limit(10).map(x->String.valueOf(x)).collect(Collectors.toList()); /** * @Function: 将含有占位符的字符串的占位符转换为替换占位符后的字符串 * @Param: * @Return: */ public String parseFormatString(String sourceString,String format,Object...objects){ sourceString = sourceString.replace(format,"%s"); return String.format(sourceString,objects); } /** * 制造一个由数字,大小写字母组合成的字符串 * [length] * @return java.lang.String * @throw */ public String getRandomString(int length){ ArrayList<String> results = new ArrayList<>(); Random random = new Random(); // 随机字符源 List<String> sources = new ArrayList<>(); sources.addAll(uppers); sources.addAll(lowers); sources.addAll(numbers); for (int i = 0; i < length; i++) { int index = random.nextInt(62); results.add(sources.get(index)); } return String.join("",results); } /** * @Param: 下划线规则字符串,是否首字母大写 * @Function: 将下划线规则字符串转换为驼峰规则 * @Return: 驼峰规则字符串 */ public String getHumpFromUnderLineString(String sourceString,boolean isFirstCharUpper){ // 截断为几个单个字符串 String[] stringArray = sourceString.split("_"); int i = 1; if(isFirstCharUpper){ // 如果首字母大写 i = 0; } for (; i < stringArray.length; i++) { // 后续部分逐个大写首字母 stringArray[i] = getFirstCharUp(stringArray[i]); } // 组装返回 return String.join("",stringArray); } /** * @Param: 普通字符串 * @Function: 将首字母大写 * @Return: 首字母大写的对应字符串 */ public String getFirstCharUp(String sourceString){ return sourceString.substring(0,1).toUpperCase() + sourceString.substring(1); } public static void main(String[] args) { StringUtil stringUtil = new StringUtil(); // stringUtil.getRandomString(18); // System.out.println(stringUtil.getHumpFromUnderLineString("sjhs_hj_icds",true));; } }
浙公网安备 33010602011771号