2016-02-06 1 views
1

У меня есть строка, которая является суммой математики. например 3+5*5/2 и т. Д. Я хочу получить один массив строк, содержащий числа и другой массив, содержащий операции.Как удалить все, кроме математических знаков java regex

У меня есть номера, но я не могу получить операции.

Это то, что я до сих пор:

String extractingIntegers = "4+5*9/8-6"; 
String[] operationsInStringformat = extractingIntegers.split("[^0-9]"); 
String[] numbersInStringformat = extractingIntegers.split("\\D"); 

В \\D работает, но не [^0-9]

+0

Почему бы просто не совместить * их с '[- * + /]'? Почему вы хотите * split *? –

+0

Ну, посмотрите [это демо] (http://ideone.com/Ca5B0U). Похоже, он соответствует всем необходимым для соответствия. –

+1

@ maytham-ɯɐɥıλɐɯ: ваш ответ был опущен из-за 'String [] operationsInStringformat = extractingIntegers.split (" [! 0-9] ");' –

ответ

0

Противоположностью \ D является \ d

String extractingIntegers = "4+5*9/8-6"; 
String[] operationsInStringformat = extractingIntegers.split("\\d"); 
String[] numbersInStringformat = extractingIntegers.split("\\D"); 
0

Просто удалите^в строка ниже Строка [] operationsInStringformat = extractingIntegers.split ("[0-9] +"); Также включают + для обработки чисел с более чем одной цифрой.

Смежные вопросы