java - 将一个char数组转换成多个String

标签 java arrays string java-8

<分区>

我需要将一个 char 数组转换成几行特定大小的行。例如,考虑这个数组:

char[] bases = new char[]{'a', 'c', 'c', 't', 'a', 'c', 'a', 't', 'a', 'c', 'c', 't', 'a', 'c', 'a', 't'};

对于大小为 5 的预期输出:

accta
catac
ctaca

我目前正在使用此代码:

    int ls = 5; 
    String str = ""; 
    for (int i = 1; i < bases.length; i++) {
        str += bases[i - 1];
        if (i%ls == 0) {
            str += '\n';
        }
    }

在 Java 8 中是否有一些内置函数可以实现这一点?有没有更好的方法来解决这个问题?

最佳答案

您可以将 char[] 转换为字符串,然后您可以使用 split 和一些正则表达式,例如:

String s = String.valueOf(bases);//result = acctacatacctacat
System.out.println(Arrays.toString(s.split("(?<=\\G.{5})")));

如果你想在一行中完成:

String[] spl = String.valueOf(bases).split("(?<=\\G.{5})");

输出

[accta, catac, ctaca, t]

关于java - 将一个char数组转换成多个String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44702893/

相关文章:

string - 使用批处理模式在 xmgrace 中添加注释值

python - 提取名称和版本号,并避免不匹配?

java - 从多个 Activity 在模型中设置数据

perl - 当您尝试使用 Perl 打印数组或散列并得到 Array(0xd3888) 时,这意味着什么?

java - 数组未接收单选按钮值

java - Arrays.deepHashCode() 不是唯一的

php - PHP 中单引号和双引号字符串有什么区别?

java - 异常 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException

java - onItemClick、Intent、startActivity 错误

java - 在已部署的 Apache 6.0 中转换 XML 时可能出现的错误