Java 从字符串数组中删除数字

Java 从字符串数组中删除数字,java,arrays,Java,Arrays,输出=[1,d4,Nf6,2,c4,g6,0-1]] 我想去掉移动列表中的“1.”、“2.”部分,只保留 d4,Nf6。。。我打算把它们添加到一个列表中 使用分隔符有更好的方法吗? 我是否必须创建一个方法来检查数组中每个字符串的(如果有)数值,并保存没有数值的字符串 public class ChessMethod { public static void main(String[] args) { String line=" 1.d4 Nf6 2.c4 g6 0-1]";

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

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

d4,Nf6。。。我打算把它们添加到一个列表中

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

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));

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


可能这就是您想要的,如果我没有遗漏任何内容,请使用
“\\s*\\d+\\\.\\s*”
作为分隔符,然后按空格分割?这是一个很大的帮助!谢谢使用
“\\s*\\d+\\.\\s*”
作为分隔符,然后按空格分割?这是一个很大的帮助!谢谢这就是我要找的!在if语句中,是正则表达式还是分隔符?他们之间有什么区别。谢谢st.matches(“%a-z].*)检查字符串是否包含a-z之间的任何字符。如果您还需要添加大写字符。。你可以把它改成[a-zA-Z]这是正则表达式。。。。就像我在上一篇评论中提到的,搜索a-z之间的任何字符。如果你还有其他问题,请告诉我。如果这有帮助,请将答案标记为正确。非常感谢。这就是我要找的!在if语句中,是正则表达式还是分隔符?他们之间有什么区别。谢谢st.matches(“%a-z].*)检查字符串是否包含a-z之间的任何字符。如果您还需要添加大写字符。。你可以把它改成[a-zA-Z]这是正则表达式。。。。就像我在上一篇评论中提到的,搜索a-z之间的任何字符。如果你还有其他问题,请告诉我。如果这有帮助,请将答案标记为正确。非常感谢。
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]