c#对字符串的各种操作

2023-11-10

1.字符串定义
2.在字符串后面追加字符串
3.获取字符串长度
4.截取字符串的一部分
5.字符串转为比特码
6.查指定位置是否为空字符
7.查字符串是否是标点符号
8.截头去尾(Trim)
9.替换字符串
10.得到用单个字符串分隔字符串单元
11.得到用多个字符分隔字符串单元
12.得到用字符串分隔字符串单元
13.int转字符串的格式
14.在字符串中插入‘-’的3种方法
15.字符串用下标访问字符
16.拆分字符串
17.匹配索引
18.大小写转换
19.填充对齐
20.插入和删除(Insert和Remove)
21.格式化(静态方法Format)
22.连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
23.比较字符串
24.字符串遍历
25.Int32.Parse() 与 Int32.TryParse() 与 Convert.ToInt32()的区别


//1.字符串定义
        string str = "tes";

       

 //2.在字符串后面追加字符串
        str += "t";


        

//3.获取字符串长度
        int strLength = str.Length;


       

 //4.截取字符串的一部分Substring(起始位置,截取位数)
        string s1 = str.Substring(0,2);


        

//5.字符串转为比特码
        byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);


       

 //6.查指定位置是否为空字符IsWhiteSpace(字符串变量,位数)
        char.IsWhiteSpace(str, 3);


       

 //7.查字符串是否是标点符号IsPunctuation('字符')
        char.IsPunctuation('A');


       

 //8.截头去尾(Trim)
        string str = "__AB__CD__";
        str.Trim('_'); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"
        str.TrimStart('_'); // 移除字符串中头部的'_'字符,输出"AB__CD__"
        str.TrimEnd('_'); // 移除字符串中尾部的'_'字符,输出"__AB__CD"


        

//9.替换字符串或字符
        string str="你好da";
        str = str.Replace("你","他");
        str = str.Replace('a', 'b');
        

//10.得到用单个字符串分隔字符串单元
        string str="aaa,bbb,ccc";
        string[] sArray = str.Split(',');
        

//11.得到用多个字符分隔字符串单元   得到以'j'或's'分隔的各个字符串
        string str = "aaajbbbscccjdddseee";
        string[] sArray = str.Split(new char[2] { 'j', 's' });
        

//12.得到用字符串分隔字符串单元   得到以'js’分隔的各个字符串
        string str = "aaajsbbbjsccc";
        string[] sArray = Regex.Split(str, "js", RegexOptions.IgnoreCase);
        

//13.int转字符串的格式
        12345.ToString("n");//生成12,345.00   自动加千分符
        12345.ToString("C");//生成¥12,345.00
        12345.ToString("e");//生成1.234500e+004
        12345.ToString("f4");//生成12345.0000
        12345.ToString("x");//生成3039(16进制)
        12345.ToString("p");//生成1,234,500.00%
       

 //14.在字符串中插入‘-’的3种方法
        string str = "123456789";
        str = int.Parse(a).ToString("##-###-####");
        string str = "123456789";
        str = str.Insert(5,"-").Insert(2,"-");
        string str="123456789";
        Regex reg = new Regex(@"^(d{2})(d{3})(d{4})$");
        str = reg.Replace(str,"$1-$2-$3");
        

//15.字符串用下标访问字符
        char c = str[0];
        

//16.拆分字符串
        char[] arr = str.ToCharArray();
        

//17.匹配索引
        str = "ABCABCD";
        str.IndexOf('A'); // 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
        str.IndexOf("BCD"); // 从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"4"
        str.LastIndexOf('C'); // 从字符串尾部开始搜索第一个匹配字符C的位置,输出"5"
        str.LastIndexOf("AB"); // 从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出"3"
        str.IndexOf('E'); // 从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出"-1";
        str.Contains("ABCD"); // 判断字符串中是否存在另一个字符串"ABCD",输出true
       

 //18.大小写转换
        str.ToLower(); // 转化为小写
        str.ToUpper(); // 转化为大写
       

 //19.填充对齐
        str = "ABCD";
        str.PadLeft(6, '_'); // 使用'_'填充字符串左部,使它扩充到6位总长度,输出"__ABCD"
        str.PadRight(6, '_'); // 使用'_'填充字符串右部,使它扩充到6位总长度,输出"ABCD__"
       

 //20.插入和删除(Insert和Remove)
        str = "ADEF";
        str.Insert(1, "BC"); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
        str.Remove(1); // 从字符串的第2位开始到最后的字符都删除,输出"A"
        str.Remove(0, 2); // 从字符串的第1位开始删除2个字符,输出"EF"
       

 //21.格式化(静态方法Format)
        string.Format("{0} + {1} = {2}", 1, 2, 1 + 2);
        string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00 / 3.00);
        string.Format("{0:yyyy年MM月dd日}", DateTime.Now);
       

 //22.连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
        str = "A,B,C,D";
        string[] arr3 = str.Split(','); // arr = {"A","B","C","D"}
        string.Concat(arr3); // 将一个字符串数组连接成一个字符串,输出"ABCD"
        string.Join(",", arr3); // 以","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D"
        StringBuilder sb = new StringBuilder(); // 声明一个字符串构造器实例
        sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能
        sb.Append('B');
        sb.ToString();// 输出"AB"
        

//23.比较字符串  
        int result; //result值为“0”表示等,小于零表示 s1 < s2,大于零表示 s1 > s2 
    bool bresult; 
    string s1="aaaa"; 
    string s2="bbbb"; 
        result=String.Compare(s1,s2); 
    result=s1.CompareTo( s2 ); 
    result=String.CompareOrdinal(s1,s2);
        

//24.字符串遍历
    string str = "This is a test!";
    foreach (char myChar in str)
    {


    }
        

//25.Int32.Parse() 与 Int32.TryParse() 与 Convert.ToInt32()的区别
         //Int32.TryParse()性能优于Convert.ToInt32()优于Int32.Parse()。
        //他们都是将字符串强制转换为int32类型,当要转换的字符串为非空字符时他们三者的效果相同;
        //但要转换的字符串为null时会有区别如下实例
        string strint = null;
        int num = 0;
        Int32.Parse(strint);//会抛出异常;
        Convert.ToInt32(strint);//不会抛出异常,返回值为0;
        Int32.TryParse(strint, out num);//不会抛出异常,返回值为0,但当转换正确时返回的是true,否则返回false。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c#对字符串的各种操作 的相关文章

  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke

随机推荐

  • 高并发中的惊群问题

    目录 1 惊群效应是什么 2 惊群效应消耗了什么 3 惊群的几种情况 3 1 accept惊群 新版内核已解决 3 2 epoll create 在 fork 之前创建 3 3 epoll create 在 fork 之后创建 4 Linu
  • caffe-fast-rcnn 错误解决途径

    CAFFE深度学习交流群 532629018 root ubuntu usr local fast rcnn caffe fast rcnn make j16 CXX src caffe syncedmem cpp CXX src caff
  • Altium Designer修改3D视图时PCB板的颜色

    首先切换到PCB文件下 打开3D预览视图 快捷键为数字3 或者依次点击 视图 切换到3维模式 之后点击 拖拽进度条 或从选颜色即可
  • listbox控件用法详解

    http blog sina com cn s blog 61e2b6280100svtp html 1 属性列表 SelectionMode 组件中条目的选择类型 即多选 Multiple 单选 Single Rows 列表框中显示总共多
  • 数据库系统原理实验(实习)报告——单表查询

    一 实验目的 1 掌握select语句的基本语法和查询条件表示方法 2 掌握数据汇总方法 3 掌握group by子句的作用和使用方法 4 掌握having子句的作用和使用方法 5 掌握order by子句的作用和使用方法 二 实验内容与步
  • 数据结构三大算法(案例解析)

    概述 本文讲述数据结构中最常用到的三大算法 分治法 动态规划法和贪心算法 主要从这些算法的经典案例入手来对算法进行分析和理解 分治法 分治法可以通俗的理解为将一条大鱼分成好几块 分别料理每一块鱼肉 然后再组成一道菜 也就是说分治法是将一个大
  • Cadence17.2 > OrCAD Capture CIS > 设计规则检查(Design Rule Check)DRC学习记录详解

    目录 一 Design Rule Check对话框选项详解 1 Design Rule Options选项详解 2 Electrical Rules 电气规则检查 选项详解 3 Physical Rules 物理规则检查 选项详解 4 ER
  • 并发编程中需要谨记的规则(翻)

    并发编程中需要谨记的规则 最小化临界区 Amdahl定律和Gustafson定律都将并行算法中的顺序执行的工作视为性能问题的头号敌人 两个执行代码区段中间的时间需要顺序执行 这就是众所周知的临界值 在图1 16的分析Gustafson定律的
  • [资源]--IOS捷径大全,众多实用小功能

    一 实用工具 1 支付助手3 0 新 扫一扫 微信扫码 微信收款 支付宝扫码 Apple Pay AA付款 查快递 蚂蚁森林 蚂蚁庄园 彩票 股票 运动 淘票票 乘车码 生活缴费 火车票等等 https www icloud com sho
  • 剑指offer 面试题14- I. 剪绳子 面试题14- II. 剪绳子 II

    动态规划 https leetcode cn com problems integer break solution dong tai gui hua zhi xing yong shi da bai 100 c by 动态规划 class
  • Open3D (C++) 计算点云的均值与标准差

    目录 一 算法原理 二 主要函数 三 代码实现 四 结果展示 一 算法原理 计算给定点云数据x y z坐标各字段的均值和标准差 其中标准差为n 1实现 二 主要函数 getMeanStd const std vector lt float
  • 基于Java的连连看游戏设计与实现(含源文件)

    欢迎添加微信互相交流学习哦 项目源码 https gitee com oklongmm biye 毕业设计 论文 任务书 第1页 毕业设计 论文 题目 基于Java的连连看游戏设计与实现 毕业设计 论文 要求及原始数据 资料 1 简述Jav
  • 拥塞控制域流量控制

    流量控制 也就是管理两端的流量 以免任一方向上因发送过块导致接收端溢出 或者因接收端处理太快而浪费时间的状态 具体包括 1 发送端的进程产生数据很慢 时不时的来个1字节数据 那么TCP就会1字节1字节的发送 效率很低 解决办法是建立一个时基
  • 冗余架构控制器下的攻与防

    本文系原创 转载请说明出处 Please Subscribe Wechat Official Account 信安科研人 获取更多的原创安全资讯 防 A Quad Redundant PLC Architecture for Cyber R
  • Deformable Attention学习笔记

    Deformable Attention学习笔记 Vision Transformer with Deformable Attention Abstract Transformer 最近在各种视觉任务中表现出卓越的表现 大的 有时甚至是全局
  • 《MySQL必知必会》01_书中例程:所有的创表语句、插入语句

    目录 书中例程 所有的创表语句 插入语句 create sql populate sql 书中例程 所有的创表语句 插入语句 create sql MySQL Crash Course http www forta com books 06
  • jmeter压测步骤

    参考 使用Jmeter压测的第一个接口 第一步 在测试计划里添加一个线程组 要压测的接口名称 如图所示 在测试计划里右键 添加 线程 线程组就可以了 第二步 设置线程组参数 如下图所示 第三步 添加请求 在线程组上右键 添加 取样器 HTT
  • 服务器virsh不显示虚机,【openEuler 20.09】【虚拟化】virsh attach-interface热插rtl8139网卡后,虚拟机内部不显示,重启后才显示...

    环境信息 Host NAME openEuler VERSION 20 09 ID openEuler VERSION ID 20 09 PRETTY NAME openEuler 20 09 ANSI COLOR 0 31 Guest C
  • Python函数(def, return)

    函数 函数 Function 喂 给函数一些数据 它就能内部消化 给你 吐 出你想要的东西 这就像自动贩卖机 只不过贩卖机是喂点钱 吐出来一些吃的喝的用的东西 而Python函数则是喂各种各样的数据 吐出来各种各样的功能 函数定义 在Pyt
  • c#对字符串的各种操作

    1 字符串定义 2 在字符串后面追加字符串 3 获取字符串长度 4 截取字符串的一部分 5 字符串转为比特码 6 查指定位置是否为空字符 7 查字符串是否是标点符号 8 截头去尾 Trim 9 替换字符串 10 得到用单个字符串分隔字符串单