本节内容:

1:字符的定义

2:字符的方法

3: 转义字符

4:字符串简介

5:字符串方法

1:字符的定义

char与Unicode一一对应,一个char 2个字节。

2:字符的使用方法:

实例:

 static void Main()
{
char a = 'a';
char b = '';
char c = 'A';
if (char.IsLetter(a)){ //判断小写
Console.WriteLine("a是{0}小写,转大写是{1}", a, char.ToUpper(a));
}
if (char.IsDigit(b)){ //判断是否是数据
Console.WriteLine("b是{0}数字;",b);
}
Console.WriteLine(char.ToLower(c)); //转换成小写
Console.ReadKey();
}

3:转义字符

4:字符串简介

字符集和字符编码的关系:

常用的字符集和字符编码:

ASCII码表的查看:

5:字符串的方法

1:将字符串转换成大小

 static void Main()
{
string res = "jack";
char s1 = 's';
Console.WriteLine(res.ToUpper()); //字符串变大写
Console.WriteLine(char.ToUpper(s1)); //字符变大写
Console.ReadKey();
}

2:字符串的比较

方法:4种

: == 

:String.Equals(arg1,arg2)  ##返回布尔值

:String.Compare(arg1,arg2,[true|false])  ##可选的是true Or false 代表了是否可以忽略字符的大小写

:compareto   ##arg1.compareto(arg2) 

  小于0 字符串1小于字符串2
  等于0 字符串1等于字符串2
  大于0 字符串1大于字符串2,或者字符串是null引用
namespace HelloWorld {
class Hello
{
static void Main()
{
string res = "a"; //ascii 97
string res2 = "b"; //ascii 98
Console.WriteLine(string.Equals(res,res2));
Console.WriteLine(string.Compare(res,res2));
Console.WriteLine(res.CompareTo(res2)); Console.ReadKey();
} }
} //false
// -1
//-1

3:字符串格式化

format:格式
1:string.Format(要转换的格式,格式化对象);
2:string.Format(要转换的格式,格式化对象一,格式化对象二);

for (int i = ; i < ;i++ )
{
string mystr = string.Format("{0:D3}", i);
Console.WriteLine(mystr); }

4:字符串的截取 (截取后的字符串是一个新的字符串)

str.Substring(number)  ##j从字符串的哪位开始截取

str.Substring(na,[nb]) ##从字符串的na到nb的截取

原理:根据字符串的索引进行截取

namespace HelloWorld {
class Hello
{
static void Main()
{
string str = "hello world";
Console.WriteLine(str.Substring());
Console.WriteLine(str.Substring(,)); Console.ReadKey();
} }
} //llo world
//llo:

5:字符串的分割

用字符去分割:

 static void Main()
{
string str = "hello world";
string [] change_str = str.Split('o');
foreach (string item in change_str) {
Console.WriteLine(item);
}
Console.ReadKey();
}

用数组去分割:可以根据多个字符去分割

static void Main()
{
string str = "hello world";
string [] change_str = str.Split(new char[]{'e','o'});
foreach (string item in change_str) {
Console.WriteLine(item);
}
Console.ReadKey();
}

输出:

6:字符串的合并

合并方法:
1: +
2: Concat string.Concat(字符串1,字符串2,字符串n...)
3: Join string.Join(合并后的分割符,字符串数组)

 static void Main()
{
string str = "hello";
string str1 = "world";
Console.WriteLine(str+str1); //helloworld
Console.WriteLine(string.Concat(str,str1)); //helloworld
string [] str_array = {str,str1};
Console.WriteLine(string.Join("|",str_array));//hello|world
Console.ReadKey();
}

7:字符串的插入与填充 

插入:insert方法

字符串.insert(插入位置,插入子串)

填充:

Padright、Padleft

Padright  方法是在尾部,添加其重复的字符,以达到总长度

字符串.Padright(总长度,【指定要填充的字符】) ##要是没有指定填充字符,默认为空格

static void Main()
{
string str = "hello";
string insert_str = str.Insert(, "***");
Console.WriteLine(insert_str); //he***llo
string add_str = str.PadRight(, '*');
Console.WriteLine(add_str);
string add_left_str = str.PadLeft(, '#');
Console.WriteLine(add_left_str);
Console.ReadKey();
}

输出:

8:字符串的删除

删除是通过字符串的Remove来实现的:
1:字符串.Remove(开始位置);
将字符串的开始位置后的所有字符都删除;
2:字符串.Remove(开始位置,移出数m);
从开始位置删除,删除【m】个数。

开始位置是指定字符串的索引,是一个整数,且小于字符串的长度。 

static void Main()
{
string str = "helloworld";
string remove_str = str.Remove();
Console.WriteLine(remove_str); //he
string remove_str2 = str.Remove(, ); //heoworld
Console.WriteLine(remove_str2);
Console.ReadKey();
}

9:字符串的修剪

修剪即为Trim,用于删除字符串头尾出现的某些我们不想要的字符。

方法:
字符串.Trim ##默认删除字符串首部和尾部的空格
字符串.TrimStart() ##默认只删除头部空格
字符串.TrimEnd() ##默认只删除尾部空格 字符串.Trim(字符1,字符2) ##可以指定多个字符删除
|| 两个是相等的
字符串.Trim("包含所有需要修剪字符的字符串".ToCharArray())

实例:

 10:字符串的复制

复制是通过Copy和CopyTo来实现的。

1:string.Copy(要复制的字符串)
2:CopyTo(要复制字符的起始位置,目标字符数组,目标数组中的开始存放位置,要复制的字符个数)

namespace HelloWorld {
class Hello
{
static void Main()
{
string str = "helloworldffff";
string copy_str = string.Copy(str);
Console.WriteLine(copy_str);
char[] mychar = new char[];
str.CopyTo(, mychar, , ); //有选择的复制,从str的第二位置开始复制,复制3个数,存在mychar数组的0位置开始
Console.WriteLine(mychar);
Console.ReadKey();
} }
} //helloworldffff
//llo

11:字符串的替换

替换是通过Replace来实现的:
字符串.Replace(要替换的原字符串,替换后的字符串)

 static void Main()
{
string str = "crik";
string replace_str = str.Replace("c","WW");
Console.WriteLine(replace_str); //WWrik
Console.ReadKey();
}

12:字符串的查找 

查找是通过
IndexOf    ##从左往右 返回第一次找的字符索引的位置 没有找到返回-1
LastInderOf   ##从左往右 返回最后一次找的字符索引的位置 没有找到返回-1

  static void Main()
{
string str = "crikk";
int indexof_str = str.IndexOf("k");
Console.WriteLine(indexof_str); //
int lastindexof_str = str.LastIndexOf('k');
Console.WriteLine(lastindexof_str); //
Console.ReadKey();
}

13:类型的转换

类型转换有以下两种形式:

隐式转换:
小往大转, 是系统自行的,不需要我们进行干预,也不需要 我们进行额外的编码。
显式转换:
大往小转 会溢出:加上checked 检查
第一种显式:在要转换的变量前加上,(类型)
第二种显式: Convert.ToInt32(要转换的类型)
 static void Main()
{
double a = 34.5;
int b,c;
b = (int)a;
c = Convert.ToInt32(a);
Console.WriteLine(b); //
Console.WriteLine(c); //34
Console.ReadKey();
}

c# 第14节 字符方法、转义字符、字符串的方法的更多相关文章

  1. 第8.14节 Python类中内置方法__str__详解

    一. object类内置方法__str__和函数str 类的内置方法__str__和内置函数str实际上实现的是同一功能,实际上str调用的就是__str__方法,只是调用方式不同,二者的调用语法如下 ...

  2. js正则表达式test方法、exec方法与字符串search方法区别

    1.正则表达式test方法 test() 方法用于检测一个字符串是否匹配某个模式 返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 fal ...

  3. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  4. JS基础语法---String对象下的方法(字符串的方法)

    实例方法---->必须要通过new的方式创建的对象(实例对象)来调用的方法 静态方法---->直接通过大写的构造函数的名字调用的方法(直接通过大写的对象名字调用的) 字符串的常用属性: . ...

  5. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

  6. 关于使用format()方法格式化字符串,读这一篇就够了!

    从Python 2.6开始,又出现了另外一种格式化字符串的方法——format()方法.format()方法是字符串众多方法中的一个,调用这个方法时要使用点操作符(.),该方法返回一个格式化好的字符串 ...

  7. C语言中整形数组、字符数组、字符串的区别

    一. 第一 整型数组的存放,数组最后是不加'\0'的,字符串会自动加上,因此存放字符的时候数组的大小要比实际字符的多一个 第二 整型数组 每一个单元是4个字节的,字符串是一个一个字符存放的,每个字符占 ...

  8. <NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理

    14.1 字符 三种数值类型与 Char 实例的相互转换: static void Main() { Char c; Int32 n; //方法一: 通过C#转型(强制类型转换)实现数字与字符的相互转 ...

  9. 第3.8节 Python百分号占位符的字符串格式化方法

    一.    概念         格式化字符串就是将一些变量转换为字符串并按一定格式输出字符串,包括指定字符的位置.对齐方式.空位补充方式等.Python提供了多种字符串格式设置方法.本节先介绍一种简 ...

随机推荐

  1. 线上问题排查利器Arthas

    官方文档 下载arthas-boot.jar,然后用java -jar的方式启动: curl -O https://alibaba.github.io/arthas/arthas-boot.jar j ...

  2. 正睿暑期培训day1考试

    链接 A 理解一下题意,然后玩几组样例就能发现,实际上就是\(k\)个\(i\)等价于\(1\)个\(i-1\).所以就类似于\(k\)进制进行进位,如果最后\(0\)位上不是\(0\),那么就存在划 ...

  3. Comet OJ CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)

    Preface 在一个月黑风高的夜晚我这个蒟蒻正踌躇着打什么比赛好 是继续做一场AGC,还是去刷一场CF 然后,一道金光闪过(滑稽),我们的红太阳bzt给我指明了方向: 你太菜了,我知道有一场很水的比 ...

  4. VMware 自动开多台虚拟机脚本

    d:cd "D:\WinInstall\VMware\VMware Workstation"ECHO "start vm1"vmrun -T ws start ...

  5. TypeScript vs. C#: LINQ

    TypeScript vs. C#: LINQ TypeScript 没有等效于 LINQ 的语言集成自然查询方面?不能在 TypeScript 中写入以下 LINQ 语句 1 var adultUs ...

  6. 一个动态构建 LambdaExpression Tree 的示例

    直接贴代码了: public class ExpressionTreeBuildingSampleTwo : Sample { public override string Name { get; } ...

  7. 联合 CNCF 共同出品:Kubernetes and Cloud Native Meetup 成都站

    亮点解读 云原生前沿技术分享:阿里经济体“云原生化”宝贵经验与最佳实践成果 OpenKruise 价值几何? 防踩坑指南:国内知名容器平台架构师解读从 ECS 迁移到 K8S 走过哪些坑. ​云原生服 ...

  8. JWT攻击手册

    JSON Web Token(JWT)对于渗透测试人员而言可能是一种非常吸引人的攻击途径,因为它们不仅是让你获得无限访问权限的关键,而且还被视为隐藏了通往以下特权的途径:特权升级,信息泄露,SQLi, ...

  9. IDEA的常用配置(Maven)一键导入及优化内存

    IDEA的常用配置一键导入 一.在https://www.cnblogs.com/zyx110/p/10799387.html中下载如图的压缩包 下载完成后解压缩,点击settings_bak,你会看 ...

  10. 一文教您如何通过 Docker 搭建反向代理 Ngnix,并配置 Https SSL 证书

    欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注附送 100G 海量学习资源哟!! 个人网站: https://www.exception.site/docker/h ...