本节内容:

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. [C7] Andrew Ng - Sequence Models

    About this Course This course will teach you how to build models for natural language, audio, and ot ...

  2. 【Ribbon篇四】Ribbon初步配置(2)

    一. 微服务消费者改造 注:修改microservicecloud-consumer-dept-80工程 1. pom.xml添加依赖 <!-- eureka client --> < ...

  3. 《为什么说 Prometheus 是足以取代 Zabbix 的监控神器?》

    为什么说 Prometheus 是足以取代 Zabbix 的监控神器?   Kuberneteschina 致力于提供最权威的 Kubernetes 技术.案例与Meetup! ​关注他 12 人赞同 ...

  4. webapi使用ExceptionFilterAttribute过滤器

    文章 public class ApiExceptionFilterAttribute:ExceptionFilterAttribute { public override void OnExcept ...

  5. Java连载37-面向对象的封装性

    一.IDE上继续新建工程 1.在src目录下新建软件包:package机制后面再讲,目前先用着 2.给package命名一个名称:com.bjpowernode.java_learning 3.软件包 ...

  6. torch_12_dataset和dataLoader,Batchnormalization解读

    参考博客https://blog.csdn.net/qq_36556893/article/details/86505934 深度学习入门之pytorch https://github.com/L1a ...

  7. Kubernetes容器集群管理环境 - 完整部署(下篇)

    在前一篇文章中详细介绍了Kubernetes容器集群管理环境 - 完整部署(中篇),这里继续记录下Kubernetes集群插件等部署过程: 十一.Kubernetes集群插件 插件是Kubernete ...

  8. python之np.tile()

    Numpy的tile()函数,就是将原矩阵横向.纵向地复制.tile是瓷砖的意思, 顾名思义,这个函数就是把数组像瓷砖一样铺展开来. 例1: 解释:b是一个数, 在同一个列表中把a横向铺展了21遍. ...

  9. Spring源码系列 — BeanDefinition扩展点

    前言 前文介绍了Spring Bean的生命周期,也算是XML IOC系列的完结.但是Spring的博大精深,还有很多盲点需要摸索.整合前面的系列文章,从Resource到BeanDefinition ...

  10. Zabbix邮件预警-这个坑我跳了不止一次

    文章 Github 地址:点我 每每碰到 Zabbix,我发现配置邮件预警这个坑,我必须要跳进去,跟它是有八辈子的仇哦,哎,接下来数数这些坑.看看你遇到过类似的吗? Zabbix 预警配置流程 监控项 ...