当前位置: 首页 > news >正文

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.lryc.cn/news/274316.html

相关文章:

  • 美格智能5G RedCap模组SRM813Q通过广东联通5G创新实验室测试认证
  • MVCC 并发控制原理-源码解析(非常详细)
  • 通过国家网络风险管理方法提供安全的网络环境
  • input中typedate的属性都有那些
  • 将PPT4页并排成1页
  • iPhone 恢复出厂设置后如何恢复数据
  • 欧洲最好的AI大模型:Mistral 7B!(开源、全面超越Llama 2)
  • Python | 诞生、解析器的分类版本及安装
  • vim学习记录
  • bat脚本:将ini文件两行值转json格式
  • scratch绘制小正方形 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析
  • 【产品应用】一体化伺服电机在管道检测机器人中的应用
  • Django在urls.py利用函数path()配置路由时传递参数给调用的视图函数的方法
  • Ubuntu20 编译 Android 12源码
  • RFID传感器|识读器CNS-RFID-01/1S在AGV小车|搬运机器人领域的安装与配置方法
  • 用友U8 Cloud smartweb2.RPC.d XML外部实体注入漏洞
  • 220.【2023年华为OD机试真题(C卷)】考勤信息(滑动窗口算法-JavaPythonC++JS实现)
  • 2024最新SLAM实习、秋招面经(百度、华为、小米、蔚来、理想、美团、阿里菜鸟……)
  • Html5实用个人博客留言板模板源码
  • 解码 Elasticsearch 查询 DSL:利用 Elasticsearch 中的 has_child 和 has_parent 查询进行父子文档搜索
  • 架构(1)
  • 第8课 将推流端与播放端合并为一对一音视频聊天功能
  • 如何保障集团下达的政策要求有效落地
  • 霍尔传感器测速测距实验——STM32驱动(课程设计)
  • 数据库——SQL注入攻击
  • 【已解决】js定义对象属性是.如何访问
  • Linux入门攻坚——11、Linux网络属性配置相关知识1
  • 51单片机定时/计数器相关知识点
  • 机器视觉兄弟们,没有项目订单,机器视觉项目行业难题来了
  • 机器人开发--动力系统