本节内容:

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. 题解:swj社会摇进阶第二课

    题目链接 思路:按题目推一点点可以得出答案为 sigma (i-k)*n/i+d(n%i>=k) #include<bits/stdc++.h> using namespace st ...

  2. 第一次作业--Numpy练习

    1.创建一个边界值为1而内部都是0的数组,图例如下:[提示:]解此题可以先把所有值都设置为1,这是大正方形:其次,把边界除外小正方形全部设置为0.本题用到numpy的切片原理.多维数组同样遵循x[st ...

  3. Spring Cloud Alibaba Sentinel对RestTemplate的支持

    Spring Cloud Alibaba Sentinel 支持对 RestTemplate 的服务调用使用 Sentinel 进行保护,在构造 RestTemplate bean的时候需要加上 @S ...

  4. redis.windows.conf 配置注释

    . daemonize no Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 . pidfile /var/run/redis_6379.pid 当Redis以守 ...

  5. cURL error 60: SSL certificate problem: unable to get local issuer certificate(转)【亲测】

    php5.6以上的版本会出现这种问题 解决办法: [开启拓展] extension=curl extension=openssl [配置证书] 访问https://curl.haxx.se/docs/ ...

  6. D3力布图绘制--节点跑掉,单曲线弯曲问题记录

    D3力布图绘制中遇到的交互问题,频繁操作数据后,会出现节点跑掉和单曲线弯曲的问题 问题描述 在id指向都正常的情况下出现以下2种状况: 单曲线弯曲 节点跑掉 经排查,是数据重复导致的问题 线条也是一样 ...

  7. AngleSharp 实战(01)之最简单的示例

    文档地址:https://anglesharp.github.io/docs/Examples.html 直接贴代码了: using System; using System.Linq; using ...

  8. 基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 实验目的 - 学习ESP8266模块(ESP-01) ...

  9. Elastic Beats介绍

    需要学习的地方:概念,用法,模块使用 Elastic Beats介绍 Elastic Stack传统上由三个主要组件(Elasticsearch,Logstash和Kibana)组成,早已脱离了这种组 ...

  10. ASP.NET MVC 实现简单的登录

    1.创建一个控制器   如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; ...