所以基本上我必须将卡从套装中拆分,我的代码几乎可以正常工作,但是最后一套套装总是不会从卡片上分开。到目前为止我的代码:
String userInput = input.nextLine();
String[] allCards = userInput.split("[SHDC](\\s+|$)");
让我们说输入是:2H 3D 5C KS KH
输出为:2 3 5 K KH
我被困了,请帮忙。
答案 0 :(得分:2)
这是因为只有当套装名称后跟一个或多个空格时,您的代码才会分裂。更改正则表达式以使行尾标记符合套装的字符,如下所示:
[SHDC](\\s+|$)
以下是输入字符串的工作原理:
String[] tt = "2H 3D 5C KS KH".split("[SHDC](\\s+|$)");
for (String s : tt) {
System.out.println(s);
}
答案 1 :(得分:0)
您的输入最后不包含空格,因此请尝试将\\s+
替换为可能有帮助的\\s*
:
"[SHDC]\\s*"