我有像这样转换输入字符串的模式/匹配器行:
1 3 Hi [2 1 4]
变成这样的数组:
[0] => "1"
[1] => "3"
[2] => "Hi"
[3] => "2 1 4"
那是代码:
String input = sc.nextLine();
Pattern p = Pattern.compile("(?<=\\[)[^\\]]+|\\w+");
Matcher m = p.matcher(input);
List<String> cIn = new ArrayList<String>();
while(m.find()) cIn.add(m.group());
现在我意识到有时我会得到一些负值,比如4 2 -1 2
. 由于输入是一个字符串,我不能真正使用任何正则表达式来获得那个负值。
在代码下面,我使用
Integer.parseInt(cIn.get(0));
将该字符串值转换为整数,这实际上是我需要的。
你能想出一种方法让我把-
字符和数字字符放在一起吗?然后我会检查是否有-
字符来转换数字并将其乘以-1
. (如果有更好的方法,我会很高兴听到)。
像往常一样,对不起我的英语。