String str = "Card 0,Card 1"; String[] cards = str.split(","); for (String card : cards) { String[] parts = card.split("\\s+"); for (String part : parts) { if (part.matches("\\d+")) { System.out.println(part); } } } 用最简单的代码
时间: 2024-03-15 17:46:26 浏览: 41
您可以将上述代码简化如下:
```
String str = "Card 0,Card 1";
String[] parts = str.replaceAll("\\D+", " ").trim().split(" ");
for (String part : parts) {
if (!part.isEmpty()) {
System.out.println(part);
}
}
```
输出结果与之前相同:
```
0
1
```
在上述代码中,我们首先使用 replaceAll() 方法将非数字字符替换为空格,然后使用 trim() 方法去除字符串两端的空格,最后使用 split() 方法将字符串分割成字符串数组。对于每个字符串数组元素,我们使用 isEmpty() 方法判断其是否为空字符串,然后直接输出。需要注意的是,正则表达式中的双反斜杠是用来转义反斜杠的。
阅读全文