[英]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.