1

我有一个字符串,

string ij = "/alwaysSame09102012/myThing.aspx?asdasd=99&Urasdl=scashdasdeasdmeasds/tasdigaesdr1/gasdoasdveasdasdrnaasdancasde/eamsdeasdetiasdasdnagsds/tasidgeasdr1masdeetasdasd11180,/reasdMeasdetMe2as0d1asd0/asrdganasdiseasdasdgeasdetasdiasdngaasdsd.aasdspafsxasdffas?asdsdlaieasdnedtfe=asdsafaser1meafswedfhfdget111ertert80"

现在我只需要将第一个“alwaysSame09102012”更改为“always2013forever”。

我知道我可以做这样的事情,

string ij = "/alwaysSame09102012/myThing.aspx?asdasd=99&Urasdl=scashdasdeasdmeasds/tasdigaesdr1/gasdoasdveasdasdrnaasdancasde/eamsdeasdetiasdasdnagsds/tasidgeasdr1masdeetasdasd11180,/reasdMeasdetMe2as0d1asd0/asrdganasdiseasdasdgeasdetasdiasdngaasdsd.aasdspafsxasdffas?asdsdlaieasdnedtfe=asdsafaser1meafswedfhfdget111ertert80"

string[] c = ij.split['/'];

string finalString =  ij.replace( "/" + c[0] + "/", "/" + "always2013forever" + "/");

这是我的逻辑,但没有用,请帮助,

我的字符串中只有常量是 "/alwaysSame09102012/"我需要替换的

更新

**

  • 如果我的查询字符串中有这个“alwaysSame09102012”怎么办,这就是我不想使用替换的原因。

**

4

4 回答 4

5

使用String.Replace.

前任:

var goodStr = ij.Replace("alwaysSame09102012", "always2013forever");

你的答案不起作用的原因是因为c[0]将会""。您要查找的值(例如“alwaysSame09102012”)将位于c[1].

于 2013-05-31T14:55:30.030 回答
1
string ij = "/alwaysSame09102012/myThing.aspx?asdasd=99&Urasdl=scashdasdeasdmeasds/tasdigaesdr1/gasdoasdveasdasdrnaasdancasde/eamsdeasdetiasdasdnagsds/tasidgeasdr1masdeetasdasd11180,/reasdMeasdetMe2as0d1asd0/asrdganasdiseasdasdgeasdetasdiasdngaasdsd.aasdspafsxasdffas?asdsdlaieasdnedtfe=asdsafaser1meafswedfhfdget111ertert80"

string newString = ij.Replace("alwaysSame09102012","always2013forever");
于 2013-05-31T14:56:24.427 回答
1
string ReplaceFirst (string source, string old_substring, string new_substring)
{
    var position = source.IndexOf(old_substring);
    return (position < 0)
        ? source
        : source.Substring(0, position) + new_substring + source.Substring(position + old_substring.Length);
}

用法:

var new_string = ReplaceFirst("/alwaysSame09102012/myThing...", "alwaysSame09102012","always2013forever");
于 2013-05-31T15:07:22.213 回答
0

您应该使用 URI 类。

http://msdn.microsoft.com/en-us/library/system.uri.aspx http://msdn.microsoft.com/en-us/library/system.uribuilder.aspx

这将为您提供更大的灵活性,并防止您逃避问题等。

于 2013-05-31T14:55:08.597 回答