Amien90 Ответов: 2

Как я могу заменить часть строки на список


var variable = app.GetVariableList();
app.Variables = new List<ListVariables>();

foreach (variableItem in variable.Items)
{

    ListVariables VariableResult = new ListVariables();

    VariableResult.Name = variableItem.Name;
    VariableResult.Definition = variableItem.Definition;
    Console.WriteLine(VariableResult.Name);
    app.Variables.Add(VariableResult);
}


Это мой список с переменными. Теперь я хочу заменить "имя" на "определение" в этой части скрипта:
file.Source = v2;


v2 может содержать что-то вроде этого:

D:\Location\$(Variable1). Txt

Где, если Variable1 - это "тест" (который находится в списке переменных" я хотел бы иметь v2, содержащий:

D:\Location\Test.Txt

Что я уже пробовал:

string [] items = {"one","two","three","one","two","one"};
items =  items.Select(s => s!= "one" ? s : "zero").ToArray();

Karthik_Mahalingam

опубликуйте пример ввода строки и ожидаемый вывод для нее.

2 Ответов

Рейтинг:
12

Karthik_Mahalingam

public class MyType
  {
      public string Name { get; set; }
      public string Definition { get; set; }
  }

  static void Main(string[] args)
  {

      List<MyType> lst = new List<MyType>();
      lst.Add(new MyType() { Name = "Variable1", Definition = "Test1" });
      lst.Add(new MyType() { Name = "Variable2", Definition = "Test2" });
      string input = @"D:\Location\$(Variable1).Txt";
      lst.ForEach(k => input = input.Replace(k.Name, k.Definition));
      input = input.Replace("$(", "").Replace(")", "");   //D:\Location\Test1.Txt
  }


Рейтинг:
1

Amien90

Образец находится в первом посте

входная строка : D:\Location\$(Variable1). Txt
выходная строка : D:\Location\Test.Txt


Karthik_Mahalingam

использовать  Ответить  кнопки, чтобы получить возможность отправлять комментарии/запрос,
не используйте виджет решения.

Amien90

Удалил виджет

Karthik_Mahalingam

хорошо, затем обновите его правильным решением и закройте этот пост.

Amien90

Нет, с фиксированным я имею в виду, что я удалил виджет в первом посте. Мой вопрос все еще открыт

Karthik_Mahalingam

вы хотите заменить $(Variable1) значением из массива?

Amien90

Да .. ListVariables содержит что-то вроде этого (первая часть кода в первом посте)

Имя, Определение
-----------------
Переменная 1, Тест1
Variable2, Test2

Итак, в пределах v2 .. $(Variable1) можно заменить на "Test1"

Karthik_Mahalingam

проверьте мое решение.