java - 从字符串数组中删除数字

标签 java arrays

public class ChessMethod {
  public static void main(String[] args) {

      String line=" 1.d4 Nf6 2.c4 g6  0-1]";
      String[] elements = line.split("[\\s.]+");
      String first = elements[1];
      String[] trailing = Arrays.copyOfRange(elements,1,elements.length);

      System.out.println(Arrays.deepToString(trailing));

  }
}

输出= [1, d4, Nf6, 2, c4, g6, 0-1]]

我想去掉“1.”、“2.”移动列表的一部分,只保留

d4、Nf6...我打算将它们添加到列表中。

有没有更好的方法来使用分隔符来做到这一点? 我是否必须创建一种方法来检查数组中每个字符串的数值(如果有),并保存没有的字符串?

最佳答案

String line=" 1.d4 Nf6 2.c4 g6  0-1]";
        String[] elements = line.split("[\\s.]+");
        List<String> sts  = new ArrayList<>();
        for(String st : elements) {
            if(st.matches(".*[a-z].*"))
                sts.add(st);
        }
        System.out.println(sts);

此输出

[d4, Nf6, c4, g6]

如果我没有遗漏任何东西,也许这就是你想要的

关于java - 从字符串数组中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102647/

相关文章:

javascript - CanvasJs,更新数据

c - 我在标量初始值设定项中得到和多余的元素

java.exe 未被识别为内部或外部命令

java - 错误在 tomcat 上部署期间找不到键 log4j.appender.error 的值

java - 尝试用 Java 发送电子邮件时出现连接异常

检查数字是否为 2 的幂,以及输入是否为数字

php - 使用另一个数组作为输入对数组进行排序

java - 如何获取与 selenium webdriver 中的复选框相对应的文本?

java - spring mvc 日期格式,格式为 :input

javascript - 如何使 IE9 中的 Array.toString() 兼容现代浏览器