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'*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python堆排序

堆排序是一种基于二叉堆数据结构的排序算法。它将待排序的数组看作是一个完全二叉树&#xff0c;并利用堆的性质进行排序。 堆排序的基本思想是先将待排序的数组构建成一个最大堆&#xff08;或最小堆&#xff09;&#xff0c;然后依次将堆顶元素与堆的最后一个元素交换&#…

2023年低代码无代码产业大会:核心内容与学习收获(附大会核心PPT下载)

2023年低代码无代码产业大会聚焦了行业最前沿的趋势与技术&#xff0c;为企业数字化转型提供新的思路和方法。在这次大会上&#xff0c;我们可以深入了解到低代码/无代码技术的最新发展&#xff0c;以及如何利用这些技术来提高业务效率和创新能力。 一、大会的核心内容 1、低代…

net8 golang python性能比较

net8正式版出来两个月&#xff0c;现在性能到底如何呢&#xff0c;做个简单的例子和其他语言比较一下&#xff0c;测试内容是查找1000000以内的质数&#xff0c;代码不多&#xff0c;但包含了循环计算和Math库函数调用&#xff0c;直观的看一下语言之间差距是多少&#xff0c;心…

【AI视野·今日Robot 机器人论文速览 第七十三期】Tue, 9 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Tue, 9 Jan 2024 Totally 40 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Digital Twin for Autonomous Surface Vessels for Safe Maritime Navigation Authors Daniel Menges, Andreas Von Brandis, A…

8.【TypeScript 教程】Never 与 Unknown

TypeScript Never 与 Unknown 本节介绍 never 和 unknown 类型&#xff0c;其中 unknown 类型作为 any 类型对应的安全类型使用起来更加安全&#xff0c;如果有 any 类型的使用需求&#xff0c;应尽量使用 unknown 类型来替代 any 类型。 1. 解释 never 类型表示那些永不存在…

Matlab | SISO系统差分方程求解(附matlab源码)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== SISO系统差分方程求解 最小二乘法原理分析实验程序实验结果

JWT---JSON Web Token

JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任&#xff0c;因为它是数字签名的。 JSON Web Token的结构是什么样的 JSON…

QTableView如何设置显示风格?

1. 利用样式表设定样式风格 QTableView 控件本身没有直接的显示风格设置。然而&#xff0c;您可以通过使用样式表来自定义 QTableView 的外观&#xff0c;以实现不同的显示风格。以下是一些样式属性和伪状态类&#xff0c;您可以在样式表中使用来自定义 QTableView 的显示风格…

【每日一题】构造有效字符串的最少插入数

文章目录 Tag题目来源解题思路方法一&#xff1a;考虑 abc 的个数 写在最后 Tag 【字符串】【2024-01-11】 题目来源 2645. 构造有效字符串的最少插入数 解题思路 方法一&#xff1a;考虑 abc 的个数 思路 如果答案由 t 个 “abc” 组成&#xff0c;那么需要插入字符个数为…

QEMU源码全解析 —— PCI设备模拟(3)

接前一篇文章&#xff1a; 2. PCI设备的模拟 QEMU模拟的设备很多都是PCI设备&#xff0c;本节介绍PCI设备的模拟。与所有设备类似&#xff0c;PCI设备的父设备也是TYPE_DEVICE&#xff0c;其定义在QEMU源码根目录/hw/pci/pci.c中&#xff0c;代码如下&#xff1a; static con…

概率论与数理统计-第7章 假设检验

假设检验的基本概念 二、假设检验的基本思想 假设检验的基本思想实质上是带有某种概率性质的反证法&#xff0c;为了检验一个假设H0,是否正确&#xff0c;首先假定该假设H0正确&#xff0c;然后根据抽取到的样本对假设H0作出接受或拒绝的决策&#xff0c;如果样本观察值导致了…

二叉树的创建与遍历

对于前序遍历&#xff0c;首先访问当前节点&#xff0c;然后递归地遍历左子树和右子树。 这就是为什么前序遍历的代码中&#xff0c;首先是 printf("%d ", root->data);。中序遍历&#xff1a; 对于中序遍历&#xff0c;首先递归地遍历左子树&#xff0c;然后访问…

js 捕获 await 的报错

函数封装 func.js // 捕获 await 的错误 export const to (promise, errorExt, ) > {return promise//成功&#xff0c;则error返回null&#xff0c;result返回data.then((data) > [null, data])//错误则捕获错误内容&#xff0c;然后返回错误信息&#xff0c;result为u…

leetcode-x的平方根

69. x 的平方根 此题使用二分法做 class Solution:def mySqrt(self, x: int) -> int:left 1right xwhile left < right:mid (left right) // 2if x mid ** 2:return midelif x > mid ** 2:left mid 1else:right mid - 1return right

JavaScript 中 0.1 + 0.2 != 0.3:浮点数运算的陷阱

引言 在日常的 JavaScript 开发中&#xff0c;我们经常会面对一些看似简单的数学运算。然而&#xff0c;当我们执行 0.1 0.2 这样的操作时&#xff0c;很多人可能会感到困惑&#xff0c;因为预期的结果应该是 0.3&#xff0c;但实际上却是一个略微不同的值。这个现象是由于 J…

5、C语言:结构

结构 结构的基本知识结构与函数传递结构 结构数组、指向结构的指针自引用结构&#xff08;二叉树&#xff09;表查找类型定义&#xff08;typedef&#xff09;联合位字段 结构也是一种数据类型。类似于int、char、double、float等。 结构是一个或多个变量的集合&#xff0c;这些…

c++学习笔记-STL案例-机房预约系统1-准备工作

前言 准备工作包括&#xff1a;需求分析、项目创建、主菜单实现、退出功能实现 目录 1 机房预约系统需求 1.1 简单介绍 1.2 身份介绍 1.3 机房介绍 1.4 申请介绍 1.5 系统具体要求 1.6 预约系统-主界面思维导图 2 创建项目 2.1 创建项目 2.2 添加文件 ​编辑 3 创建…

页面跳转后,默认选中tree节点并高亮显示

1.场景 操作步骤&#xff1a; 1.点击数据连接数&#xff0c;打开弹窗 2.点击连接状态跳转到数据连接模块 3.默认选中tree的数据源id节点 2.代码 参数解释&#xff1a; 3.实现逻辑 首先将id通过组件传参的方式传过去&#xff0c;数据连接接收后&#xff0c;在tree里设置…

ubuntu 挂载新硬盘

1、检测新硬盘 新增加硬盘&#xff0c;检测硬盘识别情况。 命令检查&#xff1a;sudo fdisk -l 3、格式化磁盘 格式化&#xff1a;sudo mkfs.ext4 /dev/sdb 其中&#xff0c;/dev/sdb是新分区的设备文件名&#xff0c;ext4是要使用的文件系统类型。 4、挂载新分区 sudo mk…

【银行测试】24年金融银行项目,10道高频测试面试题汇总...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 面试题1&#xff…