C# 可以设置正则表达式的值吗?

C# 可以设置正则表达式的值吗?,c#,C#,我只是想知道是否可以将我的“值集”设置为放入RegEx(或者任何其他方法,如果有的话) 这是我需要做的 string myString = "Hello<<Prefix>> <<surname>>!!"; string myString=“Hello!!”; 我的问题: 我需要用“”替换这些字符串,使其成为数据库中的一个值 我正在考虑把所有这些“”放在一个列表中,但是如果你有其他更简单/更容易的方法,请帮助我 提前谢谢你 您可能希望搜索的关键字

我只是想知道是否可以将我的“值集”设置为放入RegEx(或者任何其他方法,如果有的话)

这是我需要做的

string myString = "Hello<<Prefix>> <<surname>>!!";
string myString=“Hello!!”;
我的问题:

我需要用“”替换这些字符串,使其成为数据库中的一个值

我正在考虑把所有这些“”放在一个列表中,但是如果你有其他更简单/更容易的方法,请帮助我


提前谢谢你

您可能希望搜索的关键字是模板。一种方法是这样:

var dict = new Dictionary<string,string>()
// Populate the dictionary with your key values
dict.Add("PREFIX", "Mr");
dict.Add("SURNAME", "Prescott");

string myString = "Hello<<PREFIX>> <<SURNAME>>!!";
foreach(item in dict)
{
    myString = myString.Replace("<<" + item.Key + ">>", item.Value);
}
var dict=newdictionary()
//用键值填充字典
添加(“前缀”、“Mr”);
dict.Add(“姓氏”、“普雷斯科特”);
string myString=“Hello!!”;
foreach(dict中的项目)
{
myString=myString.Replace(“,item.Value”);
}

注意:这有点幼稚,即使只有一个元素需要替换,它也会循环加载整个字典。

听起来更像是需要使用
String.Format
方法。鉴于:

public class User
{
    public string Prefix {get; set;}
    public string Surname {get; set;}
}
输出的构造应如下所示:

var message = String.Format("Hello {0} {1}!!", user.Prefix, user.Surname);

我不明白,您想获取
之间的所有值吗?或者?@SonerGönül-带“”的标签是我需要获得的,以便我知道应该用什么值替换它。例如,我需要将“”替换为“先生”->(这在我的数据库中),并将“”替换为“史密斯”。@RGraham-是的,我计划使用字符串。一旦我得到所有这些“”,我更喜欢@RePierre的答案来回答您的问题。但如果你需要模板的灵活性(例如,电子邮件可能使用名字、姓氏、不同的顺序等),我认为我的解决方案更灵活。实际上,你的解决方案可能适合我。只是它会在整个字符串中循环。但是我还是会试试这个。这很好,但是我认为你应该使用
Regex
的替换,而不是
String
s@AlirezNoori-不是争论,只是好奇,你为什么这么说?这很好,但不适合我的情况。。。@Prescott在回答中所说的是正确的。它的模板。。。我正在创建一个带有标记“”的电子邮件模板,然后当我要发送该模板时,我将用数据库中的值替换这些标记