📅  最后修改于: 2023-12-03 15:02:04.240000             🧑  作者: Mango
在处理字符串时,有时需要在一定的条件下插入空格。例如在每隔 n 个字符后插入一个空格。Java 提供了多种方法来实现这个任务。
使用字符串拼接是最基本的方法,先将字符串分割成一段一段的,每隔 n 个字符进行一次拼接。
public static String insertSpace(String str, int n) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < str.length(); i += n) {
builder.append(str.substring(i, Math.min(i + n, str.length()))).append(" ");
}
return builder.toString().trim();
}
使用正则表达式也可以实现这个功能,通过将原字符串中每隔 n 个字符放入一个组,然后在组中添加空格。
public static String insertSpace(String str, int n) {
return str.replaceAll("(.{" + n + "})", "$1 ").trim();
}
Apache Commons Lang 提供的 StringUtils 类库中也有类似的方法可以使用。
public static String insertSpace(String str, int n) {
return StringUtils.join(StringUtils.splitByWholeSeparator(str, ""), ' ');
}
使用方法三需要导入 org.apache.commons.lang3.StringUtils
这个类库。
以上三种方式各有优缺点,使用时可以根据具体情况选择合适的方法。