.Net(C#) 实现replace字符串替换只替换一次的方法
时间:2022-10-29
1、使用StringBuilder替换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication2 { >Program { static void Main(string[] args) { string str = "hello world! cjavapy!!!"; StringBuilder sb = new StringBuilder(str); str = sb.Replace("!", "b", 0, str.IndexOf("!") + 1).ToString(); ;//指定替换的范围实现替换一次,并且指定范围中要只有一个替换的字符串 Console.WriteLine(str);//输出:hello worldb cjavapy!!! Console.ReadKey(); } } }
2、使用正则表达式(Regex)替换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication2 { >Program { static void Main(string[] args) { string str = "hello world! cjavapy!!!"; Regex regex = new Regex("!");//要替换字符串"!" str = regex.Replace(str, "b", 1);//最后一个参数是替换的次数 Console.WriteLine(str);//输出:hello worldb cjavapy!!! Console.ReadKey(); } } }
3、使用IndexOf和Substring替换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication2 { >Program { static void Main(string[] args) { string str = "hello world! cjavapy!!!"; StringBuilder sb = new StringBuilder(str); int index = str.IndexOf("!"); str = str.Substring(0, index) + "b" + str.Substring(index + 1);//指定替换的范围实现替换一次,并且指定范围中要只有一个替换的字符串 Console.WriteLine(str);//输出:hello worldb cjavapy!!! Console.ReadKey(); } } }
4、通过扩展方法实现ReplaceOne
扩展方法实现代码:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication2
{
public static >StringReplace
{
public static string ReplaceOne(this string str, string oldStr, string newStr)
{
StringBuilder sb = new StringBuilder(str);
int index = str.IndexOf(oldStr);
if (index > -1)
return str.Substring(0, index) + newStr + str.Substring(index + oldStr.Length);
return str;
}
}
}
调用代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication2 { >Program { static void Main(string[] args) { string str = "hello world! cjavapy!!!"; str = str.ReplaceOne("!","b");//通过扩展方法替换 Console.WriteLine(str);//输出:hello worldb cjavapy!!! Console.ReadKey(); } } }
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。