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

C#,入门教程(13)——字符(char)及字符串(string)的基础知识

上一篇:

C#,入门教程(12)——数组及数组使用的基础知识icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123918227

字符串的使用与操作是必需掌握得滚瓜烂熟的编程技能之一!!!!!

C#语言实现预定义了多种基础的数据类型。

字符 Char、字符串String 与 数学Math 是 C# 系统级别的、预定义的数据类型。

其中 String 专门用于字符串的存储与处理,一般写作  string

本文介绍 string 的常用使用方法。

一、字符串的定义 string

与其他数据类型没有太大的差别。

// 字符串以一对双引号开始与结束
string a = "hello";// 如果字符串内有双引号
string b = "hello\"";// 或者
string c = @"hello""";// 字符创数组
string[] WeekDaysChinese = new string[7] {"周一", "周二", "周三", "周四", "周五", "周六", "周日",
};

二、字符串的定位、遍历 Length IndexOf

1、字符串长度 Length 与 截取字串 Substring

字符串的长度就是字符(英文、数字与汉字都算一个)个数。

// 字符串的遍历
string helloString = "hello!你好!";
string htmlString = "";
for(int i=0; i<helloString.Length; i++)
{// 截取 i 开始的一个字(母)htmlString += "Char(" + i + "):" + helloString.Substring(i,1) + "<br>";
}
WebBrowser1.DocumentText = htmlString;

2、正向定位与反向定位 IndexOf LastIndexOf

获取某个字或字串的位置(都从头算起,0起步)。

string helloString = "Worldlrow!";// 返回 2
int posFirst = helloString.Indexof("r");// 返回 6
int posSecond = helloString.LastIndexof("r");

三、子串 StartsWith Contains EndsWith

string[] nameString = new string[] { /* 为保护隐私,此处省略很多双括号括起来的名字,请自行补上。 */ 
};// 遍历每一个名字
// 找出隔壁老王;
// 含有 八 字的家伙;
// 名字以 蛋 结尾的活计;
foreach(string name in nameString)
{if(name.StartsWith("王")) {;}if(name.Contains("八")) {;}if(name.EndsWith("蛋")) {;}
}

四、字符串的整理与截取 Trim

字符串经常前后会留下空格、换行符、制表符等等,干扰计算。

字符串处理之前,经常做的就是清理前后的空格及一些特殊符号。

// 含有多余字符的字符串
string longString = "   hello world    ";// 干净的字符串 hello world
string clearString = longString.Trim();// Trim 也支持删除前后特定的字或字母
string banner = "*** Much Ado About Nothing ***";
string resultNoStar = banner.Trim('*');// 或一些特定字或字母
char[] charsToTrim = { '*', ' ', '\''};
string result = banner.Trim(charsToTrim);

五、字符串的大小写转换 ToUpper ToLower

string sourceString = "abshah1232-1kDDsda";
string lowerString = sourceString.ToLower();
string upperString = sourceString.ToUpper();

六、字符串的分解与合并 Split Join

先看一个去掉多余空格的实例:

string sourceString = "  hello   world is   my first app.  ";
string reault = String.Join(" ", sourceString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));

一句话就去掉了多余的空格!

分解开来的代码是:

string sourceString = "  hello   world is   my first app.  ";// 用 split 将字符串以 空格为分割字母 分割成 字符串数组
string[] arrayString = sourceString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);// 用空格将字符串数组连接成字符串
string result = String.Join(" ", arrayString);

建议用后面的一个写法。

Split 是很常用的技能,对于编程者而言如同学生的计算器,必须熟练掌握!!!!

// 读取文件的全部内容
string bufFile = File.ReadAllText(filename);// 将文件的内容分解成行
string[] bufLines = buf.Split(new char[] { '\n' } , StringSplitOptions.RemoveEmptyEntries);// 依次处理各行
for(int i=0; i<bufLines.Length; i++)
{if(bufLines[i].Trim().Length < 1) continue;;
}

七、字符串替换 Replace

Replace 其实是很复杂的函数。

咱们先了解其常用的简单的用法。

string worldString = "hello world";string chinaString = worldString.Replace("World","China");

更复杂的字符串与其他数据类型的转换后面再讲。

下一篇:

C#,入门教程(14)——字符串与其他数据类型的转换icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124004562

http://www.lryc.cn/news/276959.html

相关文章:

  • Tracert 与 Ping 程序设计与实现(2024)
  • 浅谈接口自动化测试
  • Hyperledger Fabric 核心概念与组件
  • 【C语言题解】 | 101. 对称二叉树
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C#)
  • [Vulnhub靶机] DriftingBlues: 5
  • 26 数字验证
  • echarts - xAxis.type设置time时该如何使用formatter的分级模板
  • 【代码随想录】刷题笔记Day47
  • 6.1 截图工具HyperSnap6简介
  • stable diffusion 人物高级提示词(二)衣物、身材
  • 外包做了1个月,技术退步一大半了。。。
  • docker-compose常用命令及.yaml配置模板
  • 工作随机:OEM(13.5)报错代理无法访问
  • Pruning Papers
  • C#COM对象的资源释放
  • 了解Apache 配置与应用
  • 悟的复杂度分析
  • 《网络是怎样连接的》2.5节图表(自用)
  • java 音乐会售票平台系统Myeclipse开发mysql数据库struts2结构java编程计算机网页项目
  • 鸿蒙开发解决agconnect sdk not initialized. please call initialize()
  • 秋招阿里巴巴java笔试试题-精
  • 018、通用集合类型
  • 【Leetcode】236.二叉树的最近公共祖先
  • C#,入门教程(11)——枚举(Enum)的基础知识和高级应用
  • java SSM水质历史数据可视化设计myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • C++推箱子游戏开发
  • Kotlin函数式接口
  • 2024年1月9日学习总结
  • Nacos使用MySQL8时区问题导致启动失败