У меня есть небольшая программа, которая генерирует некоторые документы, принимая пользовательский ввод и записывая замену строки в шаблоне. У меня есть некоторые переменные, такие как даты и имя человека, создавшего документ. Но у меня есть две переменные, широта и долгота, которые я не могу заменить в сгенерированном документе. В используемом шаблоне документа все поля, которые необходимо заменить, имеют следующий формат: {поле}. Таким образом, замена имени выглядит следующим образом: {имя}. Все полдюжины переменных у меня работают, кроме долготы и широты. Эти числа являются координатами сетки, поэтому они пишутся как 12.3456,-98.7654
. Я определяю их как строку (вместе со всеми моими другими переменными). Я думаю, что мое регулярное выражение неверно / сломан.
Например, функции долготы выглядят так:
Console.WriteLine("Enter Longitude");
longitude = Console.ReadLine();
Console.WriteLine($"Longitude: {longitude}");
И регулярное выражение, заменяющее текст в документе, выглядит так:
Regex regexLongitude = new Regex("{longitude}");
docText = regexLongitude.Replace(docText, longitude);
Функция широты идентична, просто замените longitude
на latitude
. Фактически, все мои переменные определены и используются в этих же функциях.
Эта проблема является последовательной и воспроизводимой. Я попытался переименовать переменную, переопределив переменную как число с плавающей точкой (что, я думаю, я не сделал правильно), даже просто используя случайную строку чисел без десятичной точки. Даже если я использую текст, например abc
для координат, они не заменяются. Что-то в регулярном выражении просто пропускает это. Я занимался исследованиями в течение последних нескольких дней и теперь в растерянности.