Как разбить и сохранить числа вместе - PullRequest
0 голосов
/ 22 ноября 2018

Я программирую проверку математических выражений.У меня есть эта строка:

Oper = "((234+332)+(cos4-sin65))"

Я хочу разделить эту строку, разделив все "()" s и операторы минус числа или тригонометрические отношения, чтобы получить этот результат:

Oper = ['(', '(', '234', '+', '332', ')', '+', '(', 'cos4', '-', 'sin65', ')', ')']

Как быраскол будет?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018
oper = "((234+332)+(cos4-sin65))"

oper.scan /[^[:alnum:]]|[[:alnum:]]+/
  #=> ["(", "(", "234", "+", "332", ")", "+", "(", "cos4", "-", "sin65", ")", ")"]

Сканирование на наличие одного не буквенно-цифрового символа или одного или нескольких буквенно-цифровых символов.

0 голосов
/ 22 ноября 2018
"((234+332)+(cos4-sin65))".split /([[:alpha:]]*\d+)*/
# => ["(", "(", "234", "+", "332", ")", "+", "(", "cos4", "-", "sin65", ")", ")"]

Разбивает всю строку по нулю или необязательным буквенно-цифровым + цифрам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...