java - 每4个字符将char放入java字符串中

标签 java string concatenation

<分区>

例如:

String str = "abc1234abcd12";
String str1 = "abc1234abcd1234abcd12";

在第三个字符后添加一个'-', 并在每 4 个字符之后添加 '-'

我怎样才能得到这个输出:

String str = "abc-1234-abcd-12";
String str1 = "abc-1234-abcd-1234-abcd-12";

最佳答案

您甚至可以使用单行 q.v 获得您想要的格式。下面的代码片段。我手动构建前三个字符后跟破折号。在此之后,我进行了一次全面替换,以在每个后续的四个字符组之后插入破折号。我的代码假定您的字符串至少三个字符长。如果您对长度小于三个字符的字符串会发生什么有逻辑,请使用该信息更新您的问题。

String str1 = "abc1234abcd1234abcd12";
str1 = str1.substring(0, 3) + "-" + str1.substring(3).replaceAll("(.{4})", "$1-");
System.out.println(str1);

输出:

abc-1234-abcd-1234-abcd-12

此处演示:

Rextester

关于java - 每4个字符将char放入java字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44747147/

相关文章:

java - Android 中的内存游戏从表面 View 延伸

java - Spring/Hibernate项目@Transactional注释值不被使用并自动替换

java - 为什么 ViewPager 不能在relativelayout中滑动?

c++ - 读取输入直到找到特定字符串 C++

ios - 尝试用 replaceOccurrencesOfString :withString:options:range: 改变不可变对象(immutable对象)

连接 DWORD

Java安全解锁读写锁?

c - 如何读取和比较 C 中的字符 255

mysql - 当 MySQL 具有使用 utf8mb4 字符集的 concat() 时,为什么从派生表中选择某些内容时每个字符使用 4 个字节?

mysql - 在坏表上加入 MySQL 表