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

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 18:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 18:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 18:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 18:58:02       20 阅读

热门阅读

  1. awk获取filebeat注册表offset的值

    2024-01-13 18:58:02       34 阅读
  2. P1468 [USACO2.2] 派对灯 Party Lamps

    2024-01-13 18:58:02       34 阅读
  3. Django全文搜索

    2024-01-13 18:58:02       40 阅读
  4. uni-app中实现弹幕的滚动效果

    2024-01-13 18:58:02       41 阅读
  5. 复试 || 就业day13(2024.01.09)算法篇

    2024-01-13 18:58:02       34 阅读