java - 替换字符串中固定数量的符号
问题描述
我有这个号码:4200000000000000
我想只留下前 4 位数字和后 3 位数字:
42000......000
其他所有内容都应替换为点。我如何用一些智能算法来实现这一点?
解决方案
为什么不使用StringBuilder
andsubstring
方法:
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();
}
推荐阅读
- css - 如何同时在伪元素上添加阴影和剪辑路径
- sql - 如何在 IMPALA SQL 中为相同的数据 ID 创建虚拟变量
- swiftui - EnvironmentObject (ObservableObject) 的变化弹出当前视图
- fastapi - TestDriven.io 教程“AWS 上的可扩展 FastAPI 应用程序”:第 1 部分 API 请求通话 端点代码不起作用
- angular - 错误:必须从注入上下文调用注入(),错误:预期未定义为真
- amazon-rds - 在 AWS Oracle Rds 19c 中创建只读用户
- c++ - 模板函数的双模板参数
- delphi - 为 Delphi 应用设置 dpiAware 以提交到 Win10 应用商店
- azure-web-app-service - 如何在 nodejs linux 上启用 gzip 压缩将 Azure Web App 与 nginx 反应
- bash - 从 Windows 10 批处理文件在 Linux 服务器上运行 bash 命令