c# – 替换第二次出现?与 &

c# – 替换第二次出现?与 &,第1张

概述任何人都可以提供相应的代码来替换“?”的第二个实例在带有“&”的字符串中? 我环顾四周但看起来似乎并没有这样做,而且我开始时并没有使用正则表达式. 谢谢 您可以使用IndexOf指定起始索引来查找第二个问号的索引,然后使用Substring: var index = input.IndexOf('?', input.IndexOf('?') + 1);var ouput = string.Con 任何人都可以提供相应的代码来替换“?”的第二个实例在带有“&”的字符串中?

我环顾四周但看起来似乎并没有这样做,而且我开始时并没有使用正则表达式.

谢谢

解决方法 您可以使用IndexOf指定起始索引来查找第二个问号的索引,然后使用Substring:

var index = input.IndexOf('?',input.IndexOf('?') + 1);var ouput = string.Concat(input.Substring(0,index),"&",input.Substring(index + 1));

要么:

var output = new string(input.Select((c,i) => i == index ? '&' : c).ToArray());

您还可以编写扩展方法:

public static string ReplaceWith(        this string source,char charToReplace,int index){    if(source == null) throw new ArgumentNullException("source");    if (index == -1) return source;    var output = new char[source.Length];    for (int i = 0; i < source.Length; i++)    {        if (i != index) output[i] = source[i];        else output[i] = charToReplace;    }    return new string(output);}

然后使用它:

var index = input.IndexOf('?',input.IndexOf('?') + 1);var output = input.ReplaceWith('&',index);
总结

以上是内存溢出为你收集整理的c# – 替换第二次出现?与 &全部内容,希望文章能够帮你解决c# – 替换第二次出现?与 &所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1220757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存