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 ......我打算将它们添加到列表中。
使用分隔符有更好的方法吗? 我是否必须创建一个方法来检查我的数组中每个字符串的(如果有)数值,并保存那些没有的字符串?
答案 0 :(得分:2)
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]
如果我没有遗漏任何东西,可能这就是你想要的