【发布时间】:2014-11-10 15:05:51
【问题描述】:
我仍处于 Java 的初级阶段,我正在尝试弄清楚如何提取所有特定值。
以这种形式(模式)[A-H][1-8] 出一个长度未知的字符串。
例如,如果我的字符串是" F5 F4 E3 ",我想将F5 分配给一个变量,F4 分配给一个变量,E3 分配给另一个变量。
或者,如果我的字符串是 " A2 ",我想将 A2 分配给一个变量。
我有一种感觉,我应该使用 Array 来存储值。
请注意,想要的模式之间有空格"blankE2blank"。
这是我目前的代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Arrays;
public class List {
public static void main(String[] args) {
int i = 0;
char[] Wanted = new char[]{?}; // What should I use here?
Pattern pat = Pattern.compile("\\s*d+\\s*D+\\s*d+");
String Motherstring = " F5 F4 E3 "; // this is just an example but the extraction should work for every string
Matcher m = pat.matcher(Motherstring);
while (pat.find()) {
Wanted[i] = pat; // ?
i++;
}
}
}
【问题讨论】:
-
只需使用
String#split将输入按空格"\\s+"分割并处理结果数组String[]
标签: java regex pattern-matching