C#用string.Replace方法批量替换某一类字符串

2024-01-12 08:20

本文主要是介绍C#用string.Replace方法批量替换某一类字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、关于字符串及其操作常识

二、String.Replace 方法

1.重载 

2.Replace(Char, Char)

3.Replace(String, String) 

(1)实例:

(2)生成结果:

4.Replace(String, String, StringComparison)

5.Replace(String, String, Boolean, CultureInfo)

(1)实例


一、关于字符串及其操作常识

        在字符串操作中,可以使用字符串对象的Split方法拆分字符串,还可以使用字符串对象的Substring方法截取一部分字符串。使用字符串对象的Replace方法替换某一类字符串。

        使用字符串对象的Replace方法可以方便地替换字符串中指定的内容。由于字符串是不可变的,Replace方法会返回一个新的字符串对象。

二、String.Replace 方法

        返回一个新字符串,其中已将当前字符串中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String。

1.重载 

Replace(Char, Char)

返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。

Replace(String, String)

返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。

Replace(String, String, StringComparison)

返回一个新字符串,其中当前实例中出现的所有指定字符串都使用提供的比较类型替换为另一个指定的字符串。

Replace(String, String, Boolean, CultureInfo)

返回一个新字符串,其中当前实例中出现的所有指定字符串都使用提供的区域性和区分大小写属性替换为另一个指定的字符串。

2.Replace(Char, Char)

        返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。

public string Replace (char oldChar, char newChar);参数
oldChar
Char
要替换的 Unicode 字符。newChar
Char
要替换出现的所有 oldChar 的 Unicode 字符。返回
String
等效于此实例(除了 oldChar 的所有实例都已替换为 newChar 外)的字符串。 如果在当前实例中找不到 oldChar,此方法返回未更改的当前实例。

        此方法执行序号 (区分大小写和不区分区域性) 搜索来查找 oldChar。此方法不会修改当前实例的值。 相反,它返回一个新字符串,在该字符串中的所有匹配 oldChar 项都由 newChar替换。由于此方法返回修改后的字符串,因此可以将对 方法的 Replace 连续调用链接在一起,以对原始字符串执行多次替换。 方法调用从左到右执行。

3.Replace(String, String) 

        返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。 

public string Replace (string oldValue, string? newValue);参数
oldValue
String
要替换的字符串。newValue
String
要替换 oldValue 的所有匹配项的字符串。返回
String
等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。例外
ArgumentNullException
oldValue 为 null。ArgumentException
oldValue 为空字符串 ("")。

        如果 newValue 为 null,则删除所有 oldValue 匹配项。此方法不会修改当前实例的值。 相反,它返回一个新字符串,在该字符串中的所有匹配 oldValue 项都由 newValue替换。此方法执行序号 (区分大小写和不区分区域性) 搜索来查找 oldValue。由于此方法返回修改后的字符串,因此可以将对方法的 Replace 连续调用链接在一起,以对原始字符串执行多次替换。 方法调用从左到右执行。

(1)实例:

// 用string.Replace方法批量替换某一类字符串
namespace _045
{public partial class Form1 : Form{private TextBox? textBox1;private Label? label1;private Label? label2;private TextBox? textBox2;private TextBox? textBox3;private Button? button1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // textBox1// textBox1 = new TextBox{Location = new Point(-1, -1),Multiline = true,Name = "textBox1",Size = new Size(315, 199),TabIndex = 0};// // label1//         label1 = new Label{AutoSize = true,Location = new Point(12, 210),Name = "label1",Size = new Size(80, 17),TabIndex = 1,Text = "查找字符串:"};// // label2//           label2 = new Label{AutoSize = true,Location = new Point(12, 239),Name = "label2",Size = new Size(80, 17),TabIndex = 2,Text = "替换字符串:"};// // textBox2//            textBox2 = new TextBox{Location = new Point(88, 204),Name = "textBox2",Size = new Size(133, 23),TabIndex = 3};// // textBox3//           textBox3 = new TextBox{Location = new Point(88, 236),Name = "textBox3",Size = new Size(133, 23),TabIndex = 4};// // button1//          button1 = new Button{Location = new Point(227, 231),Name = "button1",Size = new Size(75, 28),TabIndex = 5,Text = "开始替换",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(314, 271);Controls.Add(button1);Controls.Add(textBox3);Controls.Add(textBox2);Controls.Add(label2);Controls.Add(label1);Controls.Add(textBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "用Replace方法批量替换字符";ResumeLayout(false);}/// <summary>/// 使用字符串对象的Reaplce方法替换所有满足条件的字符串/// </summary>private void Button1_Click(object? sender, EventArgs e){textBox1!.Text = textBox1.Text.Replace(textBox2!.Text, textBox3!.Text);}}
}

(2)生成结果:

 

4.Replace(String, String, StringComparison)

        返回一个新字符串,其中当前实例中出现的所有指定字符串都使用提供的比较类型替换为另一个指定的字符串。

public string Replace (string oldValue, string? newValue, StringComparison comparisonType);参数
oldValue
String
要替换的字符串。newValue
String
要替换 oldValue 的所有匹配项的字符串。comparisonType
StringComparison
枚举值之一,用于确定在此实例内搜索 oldValue 的方法。返回
String
等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。例外
ArgumentNullException
oldValue 为 null。ArgumentException
oldValue 为空字符串 ("")。注解
如果 newValue 为 null,则删除所有的 oldValue 匹配项。

        此方法不会修改当前实例的值。 相反,它返回一个新字符串,在该字符串中的所有匹配 oldValue 项都由 newValue替换。

        此方法使用 描述comparisonType的区域性和区分大小写的方式执行搜索以查找 oldValue 。

        由于此方法返回修改后的字符串,因此可以将对方法的 Replace 连续调用链接在一起,以对原始字符串执行多次替换。 方法调用从左到右执行。

5.Replace(String, String, Boolean, CultureInfo)

        返回一个新字符串,其中当前实例中出现的所有指定字符串都使用提供的区域性和区分大小写属性替换为另一个指定的字符串。

public string Replace (string oldValue, string? newValue, bool ignoreCase, System.Globalization.CultureInfo? culture);参数
oldValue
String
要替换的字符串。newValue
String
要替换 oldValue 的所有匹配项的字符串。ignoreCase
Boolean
在比较时忽略大小写则为 true;否则为 false。culture
CultureInfo
比较时要使用的区域性。 如果 culture 为 null,则使用当前区域性。返回
String
等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。例外
ArgumentNullException
oldValue 为 null。ArgumentException
oldValue 为空字符串 ("")。注解
如果 newValue 为 null,则删除所有的 oldValue 匹配项。

        此方法不会修改当前实例的值。 相反,它返回一个新字符串,在该字符串中的所有匹配 oldValue 项都由 newValue替换。

        此方法使用提供的 culture 和ignoreCase区分大小写的 执行搜索以查找oldValue。

        由于此方法返回修改后的字符串,因此可以将对方法的 Replace 连续调用链接在一起,以对原始字符串执行多次替换。 方法调用从左到右执行。

(1)实例

// Replace(String, String)方法
// 对 Replace 方法的连续调用链接在一起,以对原始字符串执行多次替换。
// 方法调用从左到右执行。
namespace ConsoleApp9
{internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);string s = "aaa";Console.WriteLine("The initial string: '{0}'", s);s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d");Console.WriteLine("The final string: '{0}'", s);}}
}
// 运行结果:
/*
The initial string: 'aaa'
The final string: 'ddd'*/

这篇关于C#用string.Replace方法批量替换某一类字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597288

相关文章

PyTorch核心方法之state_dict()、parameters()参数打印与应用案例

《PyTorch核心方法之state_dict()、parameters()参数打印与应用案例》PyTorch是一个流行的开源深度学习框架,提供了灵活且高效的方式来训练和部署神经网络,这篇文章主要介绍... 目录前言模型案例A. state_dict()方法验证B. parameters()C. 模型结构冻

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S