我只想将某些数据从旧字符数组复制到新字符数组。到目前为止,这是我所拥有的:

char[] charsInString = s.toCharArray();

int length = 0;
for (int i = 0; i < charsInString.length; i++) {
    if (!(charsInString[i] < 65 || charsInString[i] > 122))
        length++;
}

char[] newCharList = new char[length];
for (int i = 0; i < charsInString.length; i++) {
    // not sure what to do here?
}


我只希望新数组中的字符与字母表中的字母(a,b,c等)相对应,本质上是复制旧的char数组而没有与数字,标点,空格等相对应的char。去做这个?我已经尝试过同时使用for循环和while循环,但是它不起作用。有什么建议吗?

最佳答案

在转换为字符数组之前,请从原始字符串中剥离所有非字母字符。

String stripped = s.replaceAll("[^a-z]", "");
char[] charsInString = stripped.toCharArray();


这种解决方案并不是最有效的,但是,除非您的输入String很长,否则应该可以忽略不计。

关于java - 将数据从较长的阵列复制到较短的阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48533630/

10-10 04:21