Наиболее рациональный способ определить отрицательное число в String? Здравствуйте, тут ради интереса, для себя пишу вычислитель математического выражения. И вот интересный момент. Хочется красиво распознавать отрицательное это число или же операнд? "Брут-форсом" конечно же это решить можно, но хочется как-то красиво, а ничего умного в голову не приходит... Есть идеи? )) Спасибо. Например из таких выражений. Определить, это отрицательное число, а не операнд и наоборот, - это операнд, а не отрицательное число."1-1" "1 -1" "1- 1" "1 - 1" "6 + -( -4)" "6 + -(4)" и так д.. Со скобками - это не проблема, для этого есть алгоритм специальный, который раскладывает по стекам, операнды и числа.
Один из способов определить отрицательное число в строке - это использование регулярных выражений. Можно написать шаблон, который будет искать сочетание минуса и числа после него.
Например, в Java это можно сделать следующим образом:
String expression = "-5"; Pattern pattern = Pattern.compile("-[0-9]+"); Matcher matcher = pattern.matcher(expression); if (matcher.find()) { System.out.println("Отрицательное число найдено: " + matcher.group()); } else { System.out.println("Это не отрицательное число"); }
Этот код найдет отрицательное число в строке "-5" и выведет его на экран. Можно адаптировать этот подход под язык программирования, который вы используете.
Один из способов определить отрицательное число в строке - это использование регулярных выражений. Можно написать шаблон, который будет искать сочетание минуса и числа после него.
Например, в Java это можно сделать следующим образом:
String expression = "-5";Pattern pattern = Pattern.compile("-[0-9]+");
Matcher matcher = pattern.matcher(expression);
if (matcher.find()) {
System.out.println("Отрицательное число найдено: " + matcher.group());
} else {
System.out.println("Это не отрицательное число");
}
Этот код найдет отрицательное число в строке "-5" и выведет его на экран. Можно адаптировать этот подход под язык программирования, который вы используете.