gpt4 book ai didi

java - 在Java中使用正则表达式进行分割

转载 作者:行者123 更新时间:2023-12-01 19:40:30 24 4
gpt4 key购买 nike

我有Java中的字符串IR800610000000700805312546,我需要转换为

IR80-0610-0000-0070-0805-3125-46

我对字符串使用 split,但不起作用

String[] arrayList = number.split("(\\w{4})");
StringBuilder result = new StringBuilder();
for (int i = 0; i < arrayList.length; i++) {
result.append(arrayList[i]);
if (i != arrayList.length - 1) {
result.append(separator);
}
}

我可以使用字符串格式化程序吗?

最佳答案

您可以使用replaceall而不是split,并使用您的捕获组,后跟否定的前瞻来断言字符串不是结尾(\w{4})(?!\$)

在替换中使用捕获组,后跟连字符 $1-

String number = "IR800610000000700805312546";
number = number.replaceAll("(\w{4})(?!$)", "$1-");
System.out.println(number); // IR80-0610-0000-0070-0805-3125-46

Java demo | regex demo

关于java - 在Java中使用正则表达式进行分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com