所以,让我说我有这个字符串:
+-5
我将+号分成一个数组。我的第一个元素是null,第二个元素是-5。我怎样才能绕过这个并将第一个元素设为-5?
编辑:这是我的一些代码:
Scanner sc = new Scanner(System.in);
System.out.print("Enter polynomial function: ");
String function = sc.nextLine();
function = function.replaceAll("-", "+-").replaceAll(" ", "");
String[] terms = function.split("\\+");
我试图通过首先替换所有来获得多项式的系数 - 用+ -
-5x^2 + 3x -2
+-5x^2 +3x +-2
Now it should split wherever there is a + sign.
First element is null, second element is -5x^2, third element 3x and fourth is -2
答案 0 :(得分:0)
split()
方法以特殊方式执行拆分。它创建了模式的子串数组,最后用split的括号中指定的字符完成,所以在你的情况下,&#前面没有任何内容39; +
'因此它返回返回数组的零索引处的空字符串。要执行所需的操作,
答案 1 :(得分:0)
您可以尝试使用commons lang库StringUtils:
String[] terms = StringUtils.split(function, '+');
for (String term : terms) {
System.out.println(term);
}
输出:
-5x^2
3x
-2
它也剥离了空格。
答案 2 :(得分:0)
解决问题的一种相对简单的方法是创建自己的函数,手动检查字符串的第一个字符:
public static String[] splitPlus(String input) {
String toSplit = (!input.isEmpty() && input.charAt(0) == '+') ? input.substring(1) : input;
return toSplit.split("\\+");
}