C#实现字符替换的三种方法
来源:互联网 发布:手机淘宝好评在哪里写 编辑:程序博客网 时间:2024/05/29 08:00
Author:云都小生
最简单粗暴的方法
C#封装了Replace的方法,这个方法及其它的参数是这样的。
string Replace(替换的目标,替换的字符串)
返回值是替换后的字符串
string str = "11xx1111x";Console.WriteLine("原字符串是:{0}",str);Console.Write("请输入需要替换的字符串:");string oldStr = Console.ReadLine();Console.Write("请输入替换的字符串:");string newStr = Console.ReadLine();str = str.Replace(oldStr,newStr);Console.WriteLine("替换后的字符串:{0}", str);
比较简单粗暴的方法
using System.Text.RegularExpressions;Console.Write("请输入一个字符串:");string str = Console.ReadLine();Console.Write("要修改的字符或字符串是:");string oldStr = Console.ReadLine();Console.Write("要修改为:");string newStr = Console.ReadLine();string[] newStrs = Regex.Split(str, oldStr);string newString = string.Join(newStr,newStrs);Console.WriteLine(newString);
首先用Split方法把字符串按照oldStr分割开,这个时候会返回字符串数组。接着再用join方法,在每个字符串结尾插入oldStr。
例如说111x1111x111,按照x分割之后变成了一个字符串数组,元素分别是:111、1111、111。
join方法可以在这个字符串数组的每个结尾增加另一个字符串,这个时候返回的是一个string。
比较考验逻辑的方法
这个是我们指导员上课提到的题目,用现有的字符串方法,包括Split、IndexOf、 Substring,实现字符串替换。
怎么去做呢?
static string Replace1(string str,string oldStr,string newStr){ Console.WriteLine("将字符串中的{0}替换成{1}···",oldStr,newStr); StringBuilder strBuffer = new StringBuilder(); int start = 0; int tail = 0; //一旦找不到需要替换的字符串(第一次IndexOf返回-1) //就说明没有该关键字符串,可以直接返回之前的字符串 if (str.IndexOf(oldStr) == -1) { Console.WriteLine("没有找到需要替换的关键字符串!"); return str; } //每次都不断循环,查找这个x //一旦找到了,就把它之前和上一个x之后的字符串拼接起来 while(true) { start = str.IndexOf(oldStr,start); if (start == -1) { break; } strBuffer.Append(str.Substring(tail,start-tail)); strBuffer.Append(newStr); start += oldStr.Length; tail = start; } //查找到最后一个位置之后 //还要把剩下的字符串拼接进去 strBuffer.Append(str.Substring(tail)); return strBuffer.ToString();}
可以看到我这里用了StringBuilder的类,拼接字符串效率更高。
2017/12/14 11:54:43 @Author:云都小生
阅读全文
0 0
- C#实现字符替换的三种方法
- C#三种判断字符是否为汉字的方法
- C#计时器的三种实现方法
- javascript中使用replaceAll()函数实现字符替换的方法
- Excel实现批量替换中间字符为星号的几种方法
- C# winform程序实现分页的三种方法
- C#实现发送邮件的三种方法
- 对字符的替换的两种方式Java实现
- C# 字符替换
- SQL中替换字符的方法
- SQL中替换字符的方法
- 创建字符设备的三种方法
- 创建字符设备的三种方法
- 创建字符设备的三种方法
- 三种字符数组合并的方法
- ASCII 字符的三种表示方法
- 字符流的三种输入输出方法
- 三种字符数组合并的方法
- java中的final修饰符
- YII2.0 视图操作
- ionic_refresher列表
- spring boot ajax文件上传超过maxsize,多次调用错误处理方法(填坑),从而多次响应,导致前端拿不到错误信息
- 74cms某漏洞可导致普通用户getshell
- C#实现字符替换的三种方法
- MYSQL 5.7.20 免安装版 自用安装
- 基础工具---解决中文乱码(HTTP中文乱码)
- 容器集群管理平台的比较
- mysql 数据处理
- linux 移动硬盘文件无法改变权限
- 每个人的心里都有一团火,路过的人只看到烟。
- PPP相关-泊松簇过程PCP-matlab程序
- ionic的安装与环境配置