java - 在每 N 个字符处为字符串添加分隔符 Android?
问题描述
我想在 3 个字符后加一个冒号。所以“123:456:789:0”我想打印它。我怎样才能做到这一点。它现在输出的方式:“123:4567890”
String s = "1234567890";
System.out.println(java.util.Arrays.toString(s.split("(?<=\\G.{3})")));
解决方案
你好试试下面的正则表达式,
String s = "1234567890";
s = s.replaceAll("(.{3})", "$1:");
System.out.println(s);
更新:更新了答案,如果你不想在最后插入':',
String s = "123456789";
s = s.replaceAll("...(?!$)", "$0:");
System.out.println(s);
“...”是长度。如果你愿意,你可以改变它。因此,如果您想要像这样的 84:F3:EB:34:75:6B 作为 84F3EB34756B 的输出,请使用,
s = s.replaceAll("..(?!$)", "$0:");
推荐阅读
- c# - 无法从 Discord.ActivityType 转换为 Discord.IActivity C# Discord.Net
- javascript - 找到 2 个具有非唯一 ID 的元素。仅加载选定的 div 以避免冲突
- python - 用于模糊图像的低通滤波器
- javascript - 防止 `document.execCommand("copy")` 替换 & 符号
- r - 在 renderTable 中自定义标题并使其具有反应性 R Shiny
- reactjs - 提交表单时未从默认值设置状态值
- ruby-on-rails - 当我从未明确调用它时,为什么我的实例变量会显示在视图上?
- python - 如何使用openpyxl更改图片大小
- c++ - 以与另一个列表相反的顺序创建第二个单链表
- java - 将值动态注入到 Javadoc 注释中