У меня есть математический анализатор, который может выполнять такие функции, как «IntPow (3,2)». Если пользователь вставляет «1 000 000», а затем добавляет символ «плюс», составляя полное уравнение «1 000 000 + IntPow (3,2)», анализатор завершается ошибкой, поскольку он не работает с числами, содержащими запятые.
Мне нужно удалить запятые из «1,000,000», но не из «IntPow (3,2)», потому что IntPow имеет два параметра, разделенных запятой. Окончательное уравнение будет «1000000 + IntPow (3,2)». Уравнение хранится в одной строке. Как бы удалить только запятые, которые находятся за скобками? Я предполагаю и говорю, что числа, содержащие запятые, не будут помещены в список параметров IntPow.
Когда я говорю «удалить запятые», я действительно имею в виду удалить «CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator», который может быть запятой или точкой в зависимости от локального. Эта часть будет легкой, потому что я предполагаю, что будет использоваться RegEx, и я могу просто конкатенировать это значение в месте запятой RegEx.
У меня есть этот RegEx: (. *?) Для нахождения скобок и значений внутри них, но я не уверен, как удалить только запятые вне совпадений с RegEx.