本节内容:

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. 201871010116-祁英红《面向对象程序设计(java)》第二周学习总结

    博文正文开头格式:(3分) 项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https:/ ...

  2. LG2495 「SDOI2011」消耗战 虚树

    问题描述 LG2495 题解 虚树 \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; #define int l ...

  3. Python __slots__

    Python 类的特殊变量:__slots__ 使用 __slots__ 后,类中 __weakref__ 和 __dict__ 消失,同时阻止动态属性绑定 由于 __dict__ 记录着类中所有的属 ...

  4. [LOJ 6435][PKUSC 2018]星际穿越

    [LOJ 6435][PKUSC 2018]星际穿越 题意 给定 \(n\) 个点, 每个点与 \([l_i,i-1]\) 之间的点建立有单位距离的双向边. \(q\) 组询问从 \(x\) 走到 \ ...

  5. Paper | Xception: Deep Learning with Depthwise Separable Convolutions

    目录 故事 Inception结构和思想 更进一步,以及现有的深度可分离卷积 Xception结构 实验 这篇论文写得很好.只要你知道卷积操作或公式,哪怕没看过Inception,也能看懂. 核心贡献 ...

  6. vscode中关于launch.json和tasks.json的变量说明

    vscode是一个轻量级的文本编辑器,但是它的拓展插件可以让他拓展成功能齐全的IDE,这其中就靠的是tasks.json和launch.json的配置 这两个json文件的相关变量是vscode特有的 ...

  7. 一种单机支持 JavaWeb 容器万级并发的设想

    当前的大部分 Java web 容器基于 Bio 线程模型,例如常见的 tomcat ,默认 200 线程,即 200 连接.由此带来的问题是,如果想提高并发,或者提高资源利用率,就得加大线程数. 如 ...

  8. (二十五)golang--数组

    数组:存放多个同一类型的数据.在Go中,数组也是一种值类型数组的基本定义: 数组的内存布局: 数组的地址可以用&取出,且它的地址就是第一个元素的地址 数组不用被被初始化而默认是有值的: 数组中 ...

  9. 第八周论文学习03 An Efficient Tree-based Power Saving Scheme for Wireless Sensor Networks with Mobile Sink

    来源:IEEE Sensors Journal Year: 2016, Volume: 16, Issue: 20 Pages: 7545 - 7557, DOI: 10.1109/JSEN.2016 ...

  10. VS 中批量格式化、删除未使用的 using 语句代码的插件

    插件名称:Format All Files 插件地址:https://marketplace.visualstudio.com/items?itemName=munyabe.FormatAllFile ...