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/