在字符串中每两个字符后插入冒号(:) 的方法是什么?

2024-02-11

我试图弄清楚 -

INPUT: String data = "506313B5EA3E";

OUTPUT: String data = "50:63:13:B5:EA:3E";

我尝试使用-

java.util.Arrays.toString(data.split("(?<=\\G..)"))

但输出是:[50, 6313B5EA3E]


您可以使用正则表达式:

String input = "0123456789abcdef";
String output = input.replaceAll("..(?!$)", "$0:")
// output = "01:23:45:67:89:ab:cd:ef"

它是如何工作的?

  • ..恰好匹配两个字符。(?!$)确保这两个字符不在末尾input (?!是负向前瞻,$代表结束)。
  • 匹配的两个字符现在将被它们自己替换($0表示整个匹配字符串)和我们想要的冒号。
  • 由于我们正在使用replaceALL,对每个两个字符组重复此操作。记住:除了最后一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在字符串中每两个字符后插入冒号(:) 的方法是什么? 的相关文章

随机推荐