split
занимает regular expression, так что вы можете сделать:
String[] terms = myString.split("[-+]");
, и она будет разделена, когда он сталкивается с + или -.
Редактировать: Обратите внимание, что, как сказал Майкл Боргвардт, когда вы так разбиваетесь, вы не можете определить, какой оператор (+ или -) был разделителем. Если это важно для вашего использования, вы должны использовать StringTokenizer
, как он предложил. (Если вы пытаетесь написать синтаксический анализатор математического выражения, ни одна из них не поможет.)
Должно быть «[+ \\ -]». –
Я сделал это достаточно, чтобы вы подумали, что двойная обратная косая черта будет второй натурой, но я думаю, нет. –
Если производительность вас беспокоит, я бы рекомендовал вам решение Майкла использовать StringTokenizer. –