请你实现一个简单的字符串替换函数。原串种需要替换的占位符为s请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数则将剩下的参数字符添加到字符串的结尾。给定一个字符串同时给定一个参数数组。示例:AsCsEBDF 输出ABCDEF 入参分别为String str和char arg 请直接用java代码实现请不要数组越界
public static String replace(String str, char[] arg) { int argIndex = 0; StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == '%' && i < str.length() - 1 && str.charAt(i + 1) == 's') { if (argIndex < arg.length) { sb.append(arg[argIndex++]); } else { sb.append("%s"); } i++; // 跳过占位符后面的 "s" } else { sb.append(str.charAt(i)); } } return sb.toString(); }
原文地址: http://www.cveoy.top/t/topic/bux5 著作权归作者所有。请勿转载和采集!