C#的StringBuilder方法

一、StringBuilder方法

StringBuilder方法
Append()向此实例追加指定对象的字符串表示形式。
AppendFormat()向此实例追加通过处理复合格式字符串(包含零个或更多格式项)而返回的字符串。 每个格式项都由相应的对象自变量的字符串表示形式替换。
AppendJoin()
AppendLine()将默认的行终止符(或指定字符串的副本和默认的行终止符)追加到此实例的末尾。
Clear()清空当前stringbuilder对象中所有字母
CopyTo()将此实例的指定段中的字符复制到目标 Char 范围或Char 数组的指定段中。
EnsureCapacity(Int32)确保 StringBuilder 的此实例的容量至少是指定值。
Equals()
GetChunks()返回一个对象,该对象可用于迭代从此 StringBuilder 实例创建的 ReadOnlyMemory<Char>中表示的字符块。
Insert()将指定对象的字符串表示形式插入到此实例中的指定字符位置。
Remove(Int32, Int32)将指定范围的字符从此实例中移除。
Replace()将此实例中出现的所有指定字符或字符串替换为其他的指定字符或字符串。
ToString() StringBuilder 的值转换为 String

1.StringBuilder.Append()

2.StringBuilder.AppendFormat()

3.StringBuilder.AppendJoin()

4. StringBuilder.AppendLine()

5. StringBuilder.Clear()

6. StringBuilder.CopyTo()

7.StringBuilder.EnsureCapacity(Int32)

8. StringBuilder.Equals()

9.StringBuilder.GetChunks()

10.StringBuilder.Insert()

11.StringBuilder.Remove(Int32, Int32)

12.StringBuilder.Replace()

        将此实例中出现的所有指定字符或字符串替换为其他的指定字符或字符串。

(1)重载

Replace(Char, Char)将此实例中出现的所有指定字符替换为其他指定字符。
Replace(String, String)将此实例中出现的所有指定字符串的替换为其他指定字符串。
Replace(Char, Char, Int32, Int32)将此实例的子字符串中出现的所有指定字符替换为其他指定字符。
Replace(String, String, Int32, Int32)将此实例的子字符串中出现的所有指定字符串替换为其他指定字符串。

(2)定义

//Replace(Char, Char)
//将此实例中出现的所有指定字符替换为其他指定字符。
public System.Text.StringBuilder Replace (char oldChar, char newChar);参数
oldChar
Char
要替换的字符。newChar
Char
替换 oldChar 的字符。返回
StringBuilder
对此实例的引用,其中 oldChar 被 newChar 替换。//Replace(String, String)
//将此实例中出现的所有指定字符串的替换为其他指定字符串。
public System.Text.StringBuilder Replace (string oldValue, string? newValue);参数
oldValue
String
要替换的字符串。newValue
String
替换 oldValue 的字符串或 null。返回
StringBuilder
对此实例的引用,其中 oldValue 的所有实例被 newValue 替换。例外
ArgumentNullException
oldValue 为 null。ArgumentException
oldValue 的长度为零。ArgumentOutOfRangeException
增大此实例的值将超过 MaxCapacity。此方法执行按序号区分大小写的比较,以识别 当前实例中的 匹配项 oldValue 。 如果 newValue 为 null 或 String.Empty,则删除 的所有 oldValue 匹配项。//Replace(Char, Char, Int32, Int32)
//将此实例的子字符串中出现的所有指定字符替换为其他指定字符。
public System.Text.StringBuilder Replace (char oldChar, char newChar, int startIndex, int count);参数
oldChar
Char
要替换的字符。newChar
Char
替换 oldChar 的字符。startIndex
Int32
此实例中子字符串开始的位置。count
Int32
子字符串的长度。返回
StringBuilder
对此实例的引用,其中从 startIndex 到 startIndex + count -1 范围内的 oldChar 被 newChar 替换。例外
ArgumentOutOfRangeException
startIndex + count 大于此实例的值的长度。
- 或 -
startIndex 或 count 小于零。此方法执行按序号区分大小写的比较,以识别 当前实例中的 匹配项 oldChar 。 替换后,当前 StringBuilder 对象的大小保持不变。//Replace(String, String, Int32, Int32)
//将此实例的子字符串中出现的所有指定字符串替换为其他指定字符串。
public System.Text.StringBuilder Replace (string oldValue, string? newValue, int startIndex, int count);参数
oldValue
String
要替换的字符串。newValue
String
替换 oldValue 的字符串或 null。startIndex
Int32
此实例中子字符串开始的位置。count
Int32
子字符串的长度。返回
StringBuilder
对此实例的引用,其中从 startIndex 到 startIndex + count - 1 的范围内 oldValue 的所有实例被 newValue 替换。例外
ArgumentNullException
oldValue 为 null。ArgumentException
oldValue 的长度为零。ArgumentOutOfRangeException
startIndex 或 count 小于零。
- 或 -
startIndex 加 count 指示一个不在此实例内的字符位置。
- 或 -
增大此实例的值将超过 MaxCapacity。
此方法执行按序号区分大小写的比较,以识别 在指定子字符串中出现的 oldValue 次数。 如果 newValue 为 null 或 String.Empty,则删除 的所有 oldValue 匹配项。

(3)实例

// StringBuilder.Replace 方法
using System.Text;namespace ConsoleApp9
{class Sample{public static void Main(){// 0----+----1----+----2----+----3----+----4---// 01234567890123456789012345678901234567890123string str = "The quick br!wn d#g jumps #ver the lazy cat.";StringBuilder sb = new(str);Console.WriteLine();Console.WriteLine("StringBuilder.Replace method");Console.WriteLine();Console.WriteLine("Original value:");Show(sb);sb.Replace('#', '!', 15, 29);           // Some '#' -> '!'Show(sb);sb.Replace('!', 'o');                     // All '!' -> 'o'Show(sb);sb.Replace("cat", "dog");            // All "cat" -> "dog"Show(sb);sb.Replace("dog", "fox", 15, 20); // Some "dog" -> "fox"Console.WriteLine("Final value:");Show(sb);}public static void Show(StringBuilder sbs){string rule1 = "0----+----1----+----2----+----3----+----4---";string rule2 = "01234567890123456789012345678901234567890123";Console.WriteLine(rule1);Console.WriteLine(rule2);Console.WriteLine("{0}", sbs.ToString());Console.WriteLine();}}
}
/*
This example produces the following results:StringBuilder.Replace methodOriginal value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d#g jumps #ver the lazy cat.0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick br!wn d!g jumps !ver the lazy cat.0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy cat.0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown dog jumps over the lazy dog.Final value:
0----+----1----+----2----+----3----+----4---
01234567890123456789012345678901234567890123
The quick brown fox jumps over the lazy dog.*/

 

13.StringBuilder.ToString()

        将 StringBuilder 的值转换为 String。

(1)重载

ToString()将此实例的值转换为 String
ToString(Int32, Int32)将此实例中子字符串的值转换为 String

(2)定义

//ToString()
public override string ToString ();返回
String
其值与此实例相同的字符串。//ToString(Int32, Int32)
public string ToString (int startIndex, int length);参数
startIndex
Int32
此实例内子字符串的起始位置。length
Int32
子字符串的长度。返回
String
一个字符串,其值与此实例的指定子字符串相同。例外
ArgumentOutOfRangeException
startIndex 或 length 小于零。
- 或 -
startIndex 和 length 之和大于当前实例的长度。

二、StringBuilder构造器

        详见本文作者的其他文章,C#用StringBuilder高效处理字符串-CSDN博客 https://wenchm.blog.csdn.net/article/details/135397349

三、StringBuilder属性

        详见本文作者的其他文章,C#的StringBuilder属性-CSDN博客         https://blog.csdn.net/wenchm/article/details/135418412

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

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

相关文章

计算机二级Python选择题考点——公共基础部分

计算机完成一条指令所花费的时间称为一个指令周期。(指令周期越短&#xff0c;指令执行就越快)顺序程序不具有并发性。(具有顺序性、封闭性和可再现性)结构化程序设计强调程序的易读性。系统软件&#xff1a;操作系统、编译程序、数据库管理系统 应用软件&#xff1a;杀毒软件在…

设置docker容器的时区

目录 基于Alpine镜像的Docker容器的Dockerfile中 基于dpkg包管理且使用APT的Linux发行版镜像的docker容器的Dockerfile中 基于Alpine镜像的Docker容器的Dockerfile中 # 替换国内源&#xff0c;可按需添加 RUN set -eux && sed -i s/dl-cdn.alpinelinux.org/mirrors.…

选择 省市区 组件数据 基于vue3 + elment-plus

h5 <el-cascader v-model"form.area" :props"{value: label,label: label }" :options"jsonData" change"handleChange" style"width: 100%;" /> script import jsonData from /utils/city.json; 选完省市区 数据是一…

iview inputNumber有一个默认值1,来看解决方案

iview inputNumber为什么总有一个默认值1&#xff0c;怎么让它为空。 修改编辑没问题&#xff0c;赋值都没问题&#xff0c;但是新增的时候会有默认值1&#xff0c;也没赋值 这种情况你要手动解决&#xff0c;看看当前值有没有被覆盖 我这个问题就是出现覆盖导致的 看代码似乎…

Linux 进程(十) 进程替换

用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec*函数以执行另一个程序。当进程调用一种exec*函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec*并不创建新进程,所以调用exec*前…

垂直领域大模型——文档图像大模型的思考与探索

〇、前言 12月1日&#xff0c;2023中国图象图形学学会青年科学家会议在广州召开。超1400名研究人员齐聚一堂&#xff0c;进行学术交流与研讨&#xff0c;共同探索促进图象图形领域“产学研”交流合作。 大会上&#xff0c;合合信息智能技术平台事业部副总经理、高级工程师丁凯博…

C语言编译器(C语言编程软件)完全攻略(第十九部分:VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 十九、VC6.0&#xff08;VC6.0&#xff09;使用教程&#xff08;使用VC6.0编写C语言程序&#xff09; Visual C 6.0简称VC或者VC6.0&#xff0c;是微软1998年推出的一款C/C IDE&#xff0c;界面友好&#xff0c;调试功能强大。VC6.0…

iOS苹果和Android安卓测试APP应用程序的区别差异

在移动应用开发中&#xff0c;测试是一个至关重要的环节。无论是iOS苹果还是Android安卓&#xff0c;测试APP应用程序都需要注意一些差异和细节。本文将详细介绍iOS和Android的测试差异&#xff0c;包括操作系统版本、设备适配、测试工具和测试策略&#xff0c;并回答一些新手容…

1.5 Unity中的数据存储 PlayerPrefs、XML、JSON

Unity中的三种数据存储&#xff1a;数据存储也称为数据持久化 一、PlayerPrefs PlayerPrefs是Unity引擎自身提供的一个用于本地持久化保存与读取的类&#xff0c;以键值对的形式将数据保存在文件中&#xff0c;然后程序可以根据关键字提取数值。 PlayerPrefs类支持3种数据类…

数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字

分析&#xff1a; 我们知道 1-100的整数 i 中&#xff0c;9会出现在十位和个位上&#xff0c;数9出现的次数可以通过以下来实现&#xff1a; 个位是9 // i % 10得到整数 i 个位上的数十位是9 // i / 10得到整数 i 除了个位数的数字 这也是做这道题之后&#xff0c;我们需要…

filecoin通过filutils 区块浏览器获取历史收益数据

filecoin 历史收益数据 每天每T平均收益 导出历史每日收益为文档 filutils 区块浏览器 导出历史每日收益为文档 #!/bin/bashfor i in {1..10} doecho $iresult$(curl --location --request POST https://api.filutils.com/api/v2/powerreward \--header User-Agent: Apifox/1.…

黑马程序员SpringBoot2-运维实用篇

视频连接&#xff1a;运维实用篇-51-工程打包与运行_哔哩哔哩_bilibili 打包与运行 程序打包与运行&#xff08;Windows&#xff09; 可执行jar包目录结构 左上角的结构是没有插件打包后的结构&#xff0c;左下是安装插件后的结构。 jar包描述文件&#xff08;MANIFEST.MF&a…

2023 波卡年度报告选读:Polkadot SDK 与开发者社区

原文&#xff1a;https://dashboards.data.paritytech.io/reports/2023/index.html#section6 编译&#xff1a;OneBlock 编者注&#xff1a;Parity 数据团队发布的 2023 年 Polkadot 年度数据报告&#xff0c;对推动生态系统的关键数据进行了深入分析。报告全文较长&#xff…

[C#]使用OpenCvSharp实现区域文字提取

【官方框架地址】 github.com/shimat/opencvsharp 【算法介绍】 采用opencv算法实现文字区域提取&#xff0c;步骤如下&#xff1a; &#xff08;1&#xff09;形态学操作 &#xff08;2&#xff09;查找轮廓 &#xff08;3&#xff09;筛选那些面积小的 &#xff08;4&#…

01.从头梳理--应用软件全生命周期中可用工具(Java方向)

在管理软件的全生命周期中&#xff0c;有很多辅助工具可以帮助开发和管理Java项目。以下是一些主要的工具和框架&#xff0c;这些工具主要在需求收集、设计、开发、测试、部署和运营维护等阶段发挥作用&#xff1a; 1.需求收集工具 JIRA:&#xff1a;一个灵活的问题和项目跟踪…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)主线程给子线程添加任务以及如何处理该任务

在看此篇文章&#xff0c;建议先看我的往期文章&#xff1a; 基于多反应堆的高并发服务器【C/C/Reactor】&#xff08;中&#xff09;在EventLoop的任务队列中添加新任务-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135346492?spm1001.2014.3001.5501一…

Raft Lab3A

Lab3 需要在 Raft 层上实现一个 fault-tolerant key-value service&#xff0c;满足强一致性&#xff0c;也就是线性一致性 (Linearizable Consistency)。线性一致性保证整个系统看起来好像只有一个副本&#xff0c;其中所有的操作都是原子性的。简单地说&#xff0c;线性一致性…

什么是发作性睡病?

发作性睡病是一种罕见的神经系统疾病&#xff0c;主要症状表现为无法控制的白天嗜睡。此病在全球范围内的发病率约为0.02-0.18%&#xff0c;通常在儿童或青少年时期发病。 首先&#xff0c;我们来了解一下发作性睡病的典型症状。患者在清醒状态下&#xff0c;如上课、开会或开…

swift ——多行文字前面内容省略

首先来说一说ios中的 lineBreakModelineBreakMode : 设置文字过长时的显示截断样式 可选值如下 byWordWrapping &#xff1a; 以单词为单位换行&#xff0c;以单词为单位截断。byCharWrapping &#xff1a;以字符为单位换行&#xff0c;以字符为单位截断。byClipping &#x…

C+语言的新特性

总是期待学习别人做好了的东西&#xff0c;是否也是一种懒惰呢&#xff1f; C语言是一门想象中的语言&#xff0c;它介于C和C之间。新的研究表明&#xff0c;C语言不支持某些特性&#xff0c;而C过于复杂。于是&#xff0c;便有了C语言&#xff0c;它的新特性如下&#xff1a; …