C# 用字符串格式替换字符串
我有一个保存字符串的变量,可以这样说:C# 用字符串格式替换字符串,c#,replace,C#,Replace,我有一个保存字符串的变量,可以这样说: string frmt = "/a/b/{0}/be/" string str=“/a/b/1/cdd/d.jpg” 我有字符串格式,比如说: string frmt = "/a/b/{0}/be/" 现在,我想用frmt替换str中的char,类似这样: string newstr = str.Replace(frmt); //result should be: /a/b/1/be/d.jpg net框架是否有类似的功能?这怎么容易做到呢 谢谢。使
string frmt = "/a/b/{0}/be/"
string str=“/a/b/1/cdd/d.jpg”
我有字符串格式,比如说:
string frmt = "/a/b/{0}/be/"
现在,我想用frmt替换str中的char,类似这样:
string newstr = str.Replace(frmt);
//result should be: /a/b/1/be/d.jpg
net框架是否有类似的功能?这怎么容易做到呢
谢谢。使用
还是您想要的正则表达式
然后您需要使用StringBuilder
string testString ="some {replace_me} text";
StringBuilder sb = new StringBuilder(testString);
sb.Replace("{replace_me}", "new");
sb.ToString();
sb.ToString()将包含“一些新文本”,您可以使用它来分隔分区,然后替换所需的标记。之后,您可以使用
下面是一个简单的例子:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string myReplacement = "4";
StringBuilder temp = new StringBuilder();
string str = "/a/b/1/cdd/d.jpg";
string[] splitArray = new string[] { "/" };
string[] split = str.Split(splitArray,StringSplitOptions.RemoveEmptyEntries );
if (split.Length > 1)
split[2] = myReplacement;
str = "/" + string.Join("/", split);
}
}
}
那么你想合并两个字符串吗?不,str的格式是“/[string1]/[string2]/[string3]/[string4]/[string5]”,string1、2、3和5保持不变,只有string4发生了变化,我只知道string1和string2。不,你搞错了,看看我给出的示例。。我想用模式替换str中的部分字符串,其中一些字符我想保持原样(我不知道它们是什么,{0}),然后需要使用
Regex。用正则表达式替换expression@nir-问题是你的例子没有多大意义。如果“/a/b/{0}/be/”是格式字符串,这意味着最后一个字符串应该是相同的,除了{0}部分,它应该包含要替换的内容。检查最后一个字符串-它只是前两个字符串的混合。我认为在人们正确回答你的问题之前,你需要澄清你的例子。这种说法毫无意义。为什么不呢,str的格式是“/[string1]/[string2]/[string3]/[string4]/[string5]”,string1、2、3和5保持不变,只有string4发生了变化,我只知道string1和string2。。