gpt4 book ai didi

java - 在每 4 个字符处拆分一个字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:09 25 4
gpt4 key购买 nike

我有一个字符串,如果可能的话,我必须将其拆分为等长的子字符串。我发现这个解决方案只有在字符串长度是 4 的倍数时才有效。

String   myString = "abcdefghijklm";
String[] split = myString.split("(?<=\\G....)");

这将产生:

[abcd, efgh, ijkl, m]

我需要的是“从字符串的末尾”拆分。我想要的输出应该是这样的:

[a, bcde, fghi, jklm]

我如何实现这一目标?

最佳答案

应该这样做:

String[] split = myString.split("(?=(....)+$)");
// or
String[] split = myString.split("(?=(.{4})+$)");

它的作用是:仅当空字符串前面有 4 个字符的倍数时才拆分空字符串,直到到达输入结束。

当然,这有一个糟糕的运行时间 (O(n^2))。自己简单拆分就可以得到一个线性运行时间的算法。

正如@anubhava 所提到的:

(?!^)(?=(?:.{4})+$) to avoid empty results if string length is in multiples of 4

关于java - 在每 4 个字符处拆分一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54637079/

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