如何替换列表中的部分字符串 [英] How can I replace part of a string against a list

查看:103
本文介绍了如何替换列表中的部分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 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是Test(在ListVariables中我想让v2包含:



D:\ Location -\\Test.Txt



我试过的:



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

解决方案

(Variable1).Txt



其中如果Variable1为Test(在ListVariables中为i)想拥有v2包含:



D:\ Location @\\Test.Txt



< b>我尝试了什么:



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


<块quote>

 public class MyType 
{
public string Name {get;组; }
公共字符串定义{get;组; }
}

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(


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);
}



This is my list with variables. Now i want to replace "Name" with "Definition" in this part of the script:

file.Source = v2;



v2 can contain something like this:

D:\Location\$(Variable1).Txt

Where If Variable1 is "Test" (which is in the ListVariables" i would like to have v2 containing:

D:\Location\Test.Txt

What I have tried:

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

解决方案

(Variable1).Txt

Where If Variable1 is "Test" (which is in the ListVariables" i would like to have v2 containing:

D:\Location\Test.Txt

What I have tried:

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


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("


这篇关于如何替换列表中的部分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆