Поиск-замена или регулярное выражение

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте!
Подскажите пожалуйста каким образом можно решить следующую задачу.
Например надо перевести из буквенного написания чисел в цифровой. Числа от 1 до 19. Это возможно сделать через регулярку? Или надо делать 20 экшенов поиска и замены?
 

Jerard

Client
Регистрация
11.04.2013
Сообщения
506
Благодарностей
225
Баллы
43
Как вариант через список/таблицу сделать. Содержания: Один=1, Два=2, Три=3, Четыре=4 и т.д. брать строку, сравнивать текст, если совпадает то используем число. Кубиков будет меньше, чем на каждый замену делать.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Подскажите пожалуйста связку экшенов для проведения данной фунцкии " брать строку, сравнивать текст, если совпадает то используем число. ". Как данный процесс реализовать?
 

blud

Client
Регистрация
19.04.2011
Сообщения
657
Благодарностей
77
Баллы
28
я вот к примеру не любитель списков и таблиц.. поэтому создал бы файлик, где построчно: 1=один 2=два и т.д. загрузил бы этот файл в переменную в самом начале проекта(пущай там и болтаеца)... и в нужный момент дергал бы оттуда регуляркой : (?<={ваша цифирь}=).*
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Как вариант через список/таблицу сделать. Содержания: Один=1, Два=2, Три=3, Четыре=4 и т.д. брать строку, сравнивать текст, если совпадает то используем число. Кубиков будет меньше, чем на каждый замену делать.
Можно вообще сопоставить номера строк элементам в списке. Первая строка - один, вторая - два и т.д. И брать нужное значение просто запрашивая элемент по номеру строки.

Это как минимум будет менее затратно по ресурсам, чем использование регулярных выражений :-)
 

blud

Client
Регистрация
19.04.2011
Сообщения
657
Благодарностей
77
Баллы
28
Можно вообще сопоставить номера строк элементам в списке. Первая строка - один, вторая - два и т.д. И брать нужное значение просто запрашивая элемент по номеру строки.

Это как минимум будет менее затратно по ресурсам, чем использование регулярных выражений :-)
я так понял, что человек получает со страницы(или еще откуда) число написанное буквами.... и ему нужно перевести слово в число... как можно обозначить номер строки буквами...??? или я чего то не понимаю?????
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
я так понял, что человек получает со страницы(или еще откуда) число написанное буквами.... и ему нужно перевести слово в число... как можно обозначить номер строки буквами...??? или я чего то не понимаю?????
Абсолютно верно.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Примерный алгоритм
C#:
var text = project.Variables["Переменная1"]
Dictionary<string, int> dictionary =
         new Dictionary<string, int>();

            dictionary.Add("один", 1);
            dictionary.Add("два", 2);
            dictionary.Add("три", 3);
            dictionary.Add("четыре", 4);
            dictionary.Add("пять", 5);
            dictionary.Add("шесть", 6);
            dictionary.Add("семь", 7);
            dictionary.Add("восемь", 8);
            dictionary.Add("девять", 9);
......      
            var result = Convert.ToInt32(dictionary[text]);
         
            return result;
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)