首页 > 解决方案 > 替换字符串中固定数量的符号

问题描述

我有这个号码:4200000000000000 我想只留下前 4 位数字和后 3 位数字:

42000......000

其他所有内容都应替换为点。我如何用一些智能算法来实现这一点?

标签: java

解决方案


为什么不使用StringBuilderandsubstring方法:

public static String foo(long num) {
    String numToString = String.valueOf(num);
    return new StringBuilder()
              .append(numToString.substring(0 , 4))
              .append("....")
              .append(numToString.substring(numToString.length()-3, numToString.length()))
              .toString();
}

输入4200000000000000时输出:

4200....000

或者如果输入已经是String

public static String foo(String str) {
    return new StringBuilder()
            .append(str.substring(0 , 4))
            .append("....")
            .append(str.substring(str.length()-3, str.length()))
            .toString();
}

推荐阅读