簡體   English   中英

替換字符串C#

[英]Replace String C#

我的字符串為“日期:<#Tag(SystemTagDateTime)>值1:<#Tag(值1)>”,我想用其值替換SystemTagDateTime,值1,並在消息框中顯示整個字符串為“日期:2016” -05-18 10:00:00 Value1:10“

我的初始字符串可能有一個或多個<#Tag(Anything)>。我嘗試過但未能獲得所需的值。例如

行->日期:<#Tag(SystemTagDateTime)>值1:<#Tag(value1)>

string[] values =Regex.Split(line, "<#Tag\\(|\\)>").Where(x => x != string.Empty).ToArray();
string text = ""; 

foreach (string val in values) { 

    if (!(String.IsNullOrEmpty (val.Trim ())))
    { 
        foreach(GlobalDataItem gdi in Globals.Tags.GlobalDataItems) 
        { 
            MessageBox.Show(val);
            if (gdi.Name == val) 
            { 
                text+= gdi.Value; 
            } 
        } 
    } 
    else 
    { 
        text += val ;
    } 
}

這是解決任務的一種簡單方法:

//Input string and we would like to keep it value
const string str = "Date :<#Tag(SystemTagDateTime)> Value1 : <#Tag(value1)>";
string text = str;
foreach (GlobalDataItem gdi in Globals.Tags.GlobalDataItems)
{
   //Preparing tag name. for instance, <#Tag(SystemTagDateTime)>
   string tag = string.Format("<#Tag({0})>", gdi.Name);
   //Replace the tag everywhere with value from gdi.
   text = text.Replace(tag, gdi.Value); 
}

在“文本”中,您將擁有您的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM