C#字符串替换方法实现

简介: http://blog.csdn.net/dengxu11/article/details/6632155   using System; using System.

http://blog.csdn.net/dengxu11/article/details/6632155

 


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. class Program
  6. {
  7.     ///
  8.     ///
  9.     ///
  10.     /// 待处理的字符串
  11.     /// 要替换的字符串中的子串
  12.     /// 用来替换toRep字符串的字符串
  13.     /// 返回一个结果字符串
  14.     public static string StringReplace(string str, string toRep, string strRep)
  15.     {
  16.         StringBuilder sb = new StringBuilder();
  17.         int subIndex = 0, indexStrRep = 0;
  18.         for (; ; )
  19.         {
  20.             /* The string which will be replace delimiter */
  21.             string str_tmp = str.Substring(subIndex);
  22.             /* Get the first index of string which will be occurrence. */
  23.             indexStrRep = str_tmp.IndexOf(toRep);
  24.             /* Equas no character to replace*/
  25.             if (indexStrRep == -1)
  26.             {
  27.                 sb.Append(str_tmp);
  28.                 break;
  29.             }
  30.             else
  31.             {
  32.                 /* insert the sub string to SB */
  33.                 sb.Append(str_tmp.Substring(0, indexStrRep));
  34.                 if (subIndex != str.Length - 2)
  35.                 {
  36.                     /* insert the delimiter "strRep" to SB */
  37.                     sb.Append(strRep);
  38.                 }
  39.                 subIndex += indexStrRep + toRep.Length;
  40.             }
  41.         }
  42.         return sb.ToString();
  43.     }

  44.     ///
  45.     /// 测试用例:"dwdawdyesdwjdao dyesj yes dwjaodjawiodayes djwaiodyesjijw"
  46.     ///
  47.     ///
  48.     static void Main(string[] args)
  49.     {
  50.         string str = "1|2+|3|4|5|";
  51.         Console.WriteLine(str);
  52.         str = StringReplace(str, "|", ",");
  53.         Console.WriteLine(str);
  54.         Console.ReadKey();
  55.     }
  56. }



image

相关文章
|
1月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
1月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
1月前
|
存储 C# 数据库
C# 生成唯一ID,有哪些方法?
【2月更文挑战第12天】
149 0
|
3月前
|
编译器 C# 开发者
C# 11.0中的新特性:覆盖默认接口方法
C# 11.0进一步增强了接口的灵活性,引入了覆盖默认接口方法的能力。这一新特性允许类在实现接口时,不仅可以提供接口中未实现的方法的具体实现,还可以覆盖接口中定义的默认方法实现。本文将详细介绍C# 11.0中接口默认方法覆盖的工作原理、使用场景及其对现有代码的影响,帮助开发者更好地理解和应用这一新功能。
|
3月前
|
C# 开发者
C# 10.0引入常量插值字符串:编译时确定性的新篇章
【1月更文挑战第22天】在C# 10.0中,微软为开发者带来了一项引人注目的新特性——常量插值字符串。这一功能允许在编译时处理和计算字符串插值表达式,从而得到可以在编译时确定的常量字符串。本文将深入探讨C# 10.0中常量插值字符串的概念、工作原理、使用场景及其对现有字符串处理方式的改进,旨在帮助读者更好地理解和应用这一强大的新特性。
|
3月前
|
编译器 C# 开发者
C# 10.0中插值字符串的改进:灵活性与性能的双重提升
【1月更文挑战第19天】C# 10.0带来了对插值字符串的显著改进,进一步增强了这一功能的灵活性和性能。插值字符串是C#中处理字符串格式化的一种强大方式,它允许开发者直接在字符串中嵌入变量和表达式。在C# 10.0中,插值字符串不仅获得了语法上的简化,还通过新的编译时优化提高了运行时性能。本文将详细探讨C# 10.0中插值字符串的改进内容,以及这些改进如何为开发者带来更加高效和便捷的编程体验。
|
3月前
|
安全 C# 开发者
C#中的默认接口方法:接口演化的新篇章
【1月更文挑战第11天】本文探讨了C# 8.0中引入的默认接口方法,这一特性允许在接口中定义具有默认实现的方法。文章介绍了默认接口方法的语法、使用场景,以及它们如何影响接口的设计和实现,同时讨论了默认接口方法带来的好处和潜在的陷阱。
|
3月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
41 1
|
1月前
|
C#
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
|
1月前
|
开发框架 .NET C#
C#学习相关系列之Linq常用方法---排序(一)
C#学习相关系列之Linq常用方法---排序(一)