C # Передача аргументов из string.property в функцию, которая возвращает значение для переменной. - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь создать программу, которая работает аналогично поиску в Google при преобразовании диапазона измерений.

Мне нужна программа, чтобы:

1) Найти позиции единиц, например, "4 см в дюймы"

2) Определить, какие единицы, используя unitpos = Toconvert.IndexOf (единицы (ref Units)) как диапазон будет сохранен в памяти

3) определяет, какое значение преобразуется, поэтому функция возвращает соответствующую единицу

4) Преобразуйте значение соответствующим образом.

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

1 Ответ

0 голосов
/ 08 декабря 2018

Регулярные выражения вы можете проверить здесь , они используются для сопоставления с шаблоном в тексте.

Здесь также является хорошим быстрым редактором для тестирования.

Я не думаю, что этот код вписывается в комментарий, грубый пример:

    string input = "4cm to inches";
    Regex expression = new Regex(@"(?<quantity>[0-9]+)(\s)*(?<source>\w+)(\s)*(to | in | (\s)*)(\s)*(?<destination>\w+)");
    Match match = expression.Match(input);
    if (match.Success)
    {
        // ... Get group by name.
        string quantity = match.Groups["quantity"].Value;
        string unitSource = match.Groups["source"].Value;
        string unitDestination = match.Groups["destination"].Value;
    }

Подробнее об основах и лемматизации можно прочитать здесь здесь .В основном все сводится к тому, чтобы рассматривать «дюйм», «дюйм» и другие вариации как одну и ту же концепцию.

...