例如: 如果有一行http://google.com/adi/727412;sz=728x90;ord= $ RANDOM?其中包含adi,希望它被替换为http://google.com/adi/727412;sz=728x90;click= $ CLICK; ord = $ RANDOM?并保持所有其他文本相同,不变。如果在c中包含任何单词,则替换相同的行#
请帮
例如: 如果有一行http://google.com/adi/727412;sz=728x90;ord= $ RANDOM?其中包含adi,希望它被替换为http://google.com/adi/727412;sz=728x90;click= $ CLICK; ord = $ RANDOM?并保持所有其他文本相同,不变。如果在c中包含任何单词,则替换相同的行#
请帮
这是一个相当简单的任务:
string url = @"http://google.com/adi/727412;sz=728x90;ord=$RANDOM?";
if (url.Contains(@"/adi/"))
{
int pos = url.IndexOf(";ord"); //// Find first occurence of Ord parameter
url = url.Insert(pos, ";click=$CLICK"); //// Insert text at position
}
编辑:为了实现为我所用从this线程解决方案多次出现的任务。
{
string url = "<google.com/adi/727412;sz=728x90;ord=$RANDOM?>; <google.com/adi/727412;sz=300x250;ord=$RANDOM?>";
string searchString = @"/adi/";
int n = 0;
while ((n = url.IndexOf(searchString, n)) != -1)
{
n += searchString.Length;
int pos = url.IndexOf('?', n);
url = url.Insert(pos, ";click=$CLICK");
}
}
string url = "http://google.com/adi/727412;sz=728x90;ord=$RANDOM?";
if(url.Contains("adi")) url = "http://google.com/adi/727412;sz=728x90;click=$CLICK;ord=$RANDOM?";
string url = "blablablablablahttp://google.com/adi/727412;sz=728x90;ord=$RANDOM?blablabla";
if(url.Contains("adi")) url.Replace("http://google.com/adi/727412;sz=728x90;ord=$RANDOM?", "http://google.com/adi/727412;sz=728x90;click=$CLICK;ord=$RANDOM?");
仅查找“adi”可能会产生错误的结果,因为您会在例如“stadium”之类的单词中找到出现的错误结果。 – 2013-03-10 08:42:12
我的只是一个快速肮脏的解决方案;)我喜欢你的更好! – Mikatsu 2013-03-10 08:55:11
但比如果我们有多个这样的字符串与不同的ID。示例:string URL = , 使用上面的代码,它将更改为728x90,而不是300x250。请帮忙。 –
2013-04-05 03:05:13
请看我改进的答案。 – 2013-04-05 13:55:20