A-03转义字符、字符串基础、String类
[转义字符]#转义符基础概述c#在处理字符串的过程中无法正确识别空格、斜杠、单、双引号等特殊字符或符号需使用转义字符才可正确读取1、c#程序中转义字符使用反斜杠“\”开头后面紧跟特殊字符或指定字母2、因为c#规定了反斜杠“\”为转义字符的标志被赋予了特殊意义所以在字符串中不可当作原本字符使用3、程序编译过程中c#会对转义字符进行实时检测当输入不符合转义规则时会直接报错格式\特殊字符或指定字母string a Hello World; //不使用转义符 string b Hello\nWorld; //使用转义符/n string b Hello\tWorld; //使用转义符/t Debug.Log(a); //输出Hello World Debug.Log(b); //输出Hello World Debug.Log(c); //输出Hello //World禁用转义c#程序中如果想在字符串中包含多个文本或禁用转义字符可在字符串前方添加“”符号- 注添加逐字标识“”的字符串会保留字符串中的缩进空格和换行符可能会意外增加字符串长度//禁用转义 Debug.Log(1\t2); //输出1 2 Debug.Log(1\t2); //输出1\t2使用禁用转义 //多行输出 string str Hello, World, 你好世界; //多行输出时会保留字符串“你好世界”前面的缩进空格 Debug.Log(str); //输出 //Hello, //World, // 你好世界#常用转义符\特殊的字符在字符串输出时输出特殊字符本身- \\在字符串输出时正确输出 \- \在字符串输出时正确输出 - \在字符串输出时正确输出 \指定的字母一般被c#赋予了特殊含义在字符串中有其他意思- \n表示换行在字符串输出时会将转义字符之后的内容换行输出- \t表示制表符在字符串输出时会在转义字符位置插入一个空白制表符相当于文本中按下Tab键[字符串基础]#字符串拼接概述字符串和字符串可直接使用加号“”拼接然后组成新的字符串1、字符串可与任意个字符串拼接不限个数2、任意值类型数据与字符串类型数据拼接结果均为字符串类型格式string 变量名 字符串1...字符串n;string a 123aaa; //字符串字符串结果为字符串 string b bbb123; //字符串数字结果为字符串 string c abccc555; //字符串变量、字符串值、数值混合相加结果为字符串 Debug.Log(a); //输出123aaa Debug.Log(b); //输出bbb123 Debug.Log(c); //输出123aaabbb123ccc555#格式化输出概述c#中可使用String.Format()方法对字符串进行格式化允许在字符串中插入变量值并以指定格式输出目标函数public static String Format(String format, params object[] args);1、调用Format()方法后会返回一个字符串作为最终结果需使用string变量接收2、参数一 format自定义的字符串输出格式参数二 args可指定不限数量个变量/实例/表达式作为插入值索引从0依次递增3、自定义字符串输出格式中的索引仅代指插入值在参数列表中的位置与格式化输出的顺序无关格式string 变量名 String.Format(字符串1{目标索引}字符串2...{目标索引}字符串n,值0,值...,值n);int x 6, y 4; //正常输出 Debug.Log(两数相加xy(xy)); //输出两数相加6410 //格式化输出指定目标变量 string str1 String.Format(两数相加{1}{2}{0},(xy),x,y); //索引1、2、0 仅代指需插入的变量值在参数列表中的位置与格式化输出的顺序无关 Debug.Log(str1); //输出两数相加6410 //格式化输出指定具体的值 string str2 String.Format(两数相加{1}{2}{0},5,3,2); Debug.Log(str2); //输出两数相加325#插值输出概述字符串插值是c#6.0引入的一种更简单的字符串格式化方法允许在字符串中直接嵌入表达式1、使用字符串插值时需在字符串前方添加“$”符号作为标识2、字符串插值中可使用具体值、变量或表达式作为插值格式string 变量名 $字符串1{表达式1}字符串2...{{表达式n}字符串n;int x 6, y 4; //正常输出 Debug.Log(两数相减x-y(x-y)); //输出两数相减6-42 //插值输出插入变量 string str2 $两数相减{x}-{y}{x-y}; Debug.Log(str2); //输出两数相减6-42 //插值输出插入具体值 Debug.Log($两数相减{10}-{3}{10 - 3}); //输出两数相减10-37[String类]#string与Stringstring变量深解1、对于一个string变量变量存储的是目标字符串在内存中的引用不是目标字符串本身2、变量名对应的目标字符串为string类型的实例对象是一个文本3、c#中每个文本在内部被表示为一个只读的char对象序列String类c#的内置类是System命名空间的一部分封装了字符串数据并提供了一系列的方法和属性来处理这些数据string、String关联c#中string关键字是String类的别名因此String与string等效String类中定义的属性、索引器、方法string变量也可正常使用#属性与索引器属性Length可获取字符串的长度返回int型数值- 格式int 变量名 字符串变量.Length;string aaa abcd; int b aaaa.Length; //b4获取字符串a的长度为4索引器[索引值]可访问字符串中“索引值”位置的字符返回char型数据1、字符串的索引值从0开始然后依次递增2、使用索引器访问字符串时最小索引值为0最大索引值为 字符串长度-13、因为字符串为只读的char对象序列所以只可通过索引器获取目标位置的字符不可进行修改- 格式char 变量名 字符串变量[索引值];string aaa abcd; char c1 aaa[0]; //ba字符串a索引0位置的字符为a char c2 aaa[3]; //bd字符串a索引3位置的字符为d#实例方法使用格式数据类型 变量名 字符串变量.方法名(参数列表);方法-判断- Equals(string str)return bool判断当前字符串与指定字符串是否相同string a abcdefg; bool isEquals a.Equals(abc); //bfalse字符串a不等于字符串abc方法-查询- Contains(string str)return bool判断字符串中是否包含指定的子字符串string str Hello, World!; bool contains str.Contains(World); //输出: true当前字符串中包含子字符串World- IndexOf(char value/string value)return int查找某一字符/子字符串在字符串中首次出现的位置string str aaa bbb ccc ddd eee; int a str.IndexOf(b); //a4字符b在当前字符串中第一次出现的位置索引为4 int b str.IndexOf(ccc); //b8字符串ccc在当前字符串中第一次出现的位置索引为8方法-删减- Trim(null/params char[] trimChars)return string移除当前字符串中的前导和后置空格或指定字符a、当参数列表为空时移除字符串的前导和后置空格字符串中间的空格会被保留b、当参数列表指定具体字符时移除字符串中的前导和后置目标字符string aaa a b c ; //默认长度7 //移除字符串的前导和后置空格 string a aaa.Trim(); Debug.Log(a.Length); //移除空格后长度5仅移除字符串中前导和后置空格 //移除字符串中的前导和后置目标字符 string bbb _a_b_c_; bbb bbb.Trim(_); Debug.Log(bbb); //输出a_b_c //组合移除字符串的前导和后置目标字符 string ccc _ a_b c __; ccc ccc.Trim(_, ); Debug.Log(ccc); //输出a_b c- Remove(int startIndex/int startIndex, int count)return string移除字符串中指定区域的字符a、单个参数移除字符串中索引位置startIndex及以后的所有字符b、双参数将字符串中从索引位置startIndex开始的count个字符移除string str aaabbb; //单一参数 string aaa str.Remove(3); //移除字符串中索引位置3及以后的所有字符 Debug.Log(aaa); //输出aaa //双参数 string bbb str.Remove(2,3); //将字符串中从索引位置2开始的3个字符移除 Debug.Log(bbb); //输出aab方法-替换- Replace(string str1,string str2)return string把指定字符串str1替换为新的字符串str2注需区分大小写string str aaa bbb ccc ddd eee; str str.Replace(ccc,zzz); Debug.Log(str); //输出aaa bbb zzz ddd eee方法-插入- Insert(int index,string str)return string在当前字符串中插入一个目标字符串到指定位置string str aaabbb; string aaa str.Insert(3, ); Debug.Log(aaa); //输出aaa bbb方法-截取- Substring(int startIndex/int startIndex, int length)return string在当前字符串中从指定位置截取一段字符串并返回a、单个参数从索引位置startIndex开始截取到字符串末尾的所有字符b、双参数从索引位置startIndex开始截取字符串中length个长度的字符并组成新字符串c、注开始截取的索引值startIndex 截取长度length需当前字符串长度Lengthstring text Hello, World!; //单个参数 string aaa text.Substring(7); //从索引位置7开始截取到字符串末尾的所有字符 Debug.Log(aaa); //输出World! //双参数 string bbb text.Substring(2,8); //从索引位置2开始截取字符串中8个长度的字符 Debug.Log(bbb); //输出llo, wor方法-分割- Split(char split)return string[]将当前字符串按指定字符分割成一个新的字符串数组string str aaa bbb ccc ddd eee; string[] words str.Split( ); foreach (string wo in words) { Debug.Log(wo); //依次输出aaa bbb ccc ddd eee }不常用方法仅作介绍无实例演示1、TrimStart()return string移除字符串中的前导空格字符串中间的空格会被保留2、TrimEnd()return string移除字符串中的后置空格字符串中间的空格会被保留3、ToUpper()return string将字符串中的所有字母转大写4、ToLower()return string将字符串中的所有字母转小写5、LastIndexOf(char值/string值)return int查找某一字符/字符串在字符串中最后一次出现的位置6、StartsWith(string str)return bool判断字符串是否以指定的子字符串开始7、EndsWith(string str)return bool判断字符串是否以指定的子字符串结束8、PadLeft(int totalWidth/int totalWidth, char paddingChar)return string在当前字符串的左侧添加空格/指定字符paddingChar使当前字符串达到目标长度totalWidth9、PadRight(int totalWidth/int totalWidth, char paddingChar)return string在当前字符串的右侧添加空格/指定字符paddingChar使当前字符串达到目标长度totalWidth10、ToCharArray(null/int startIndex, int length)return char[]将当前字符串中的指定字符复制到char数组a、如果参数列表无参数复制当前字符串中的所有字符b、如果有参数参数一 startIndex开始复制的索引位置参数二 length需复制的字符长度c、注开始复制的索引位置startIndex 复制的长度length需当前参数的长度Length11、CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count)将当前字符串的一部分复制到指定的字符数组中a、参数一 sourceIndex从当前字符串的索引位置sourceIndex处开始复制b、参数二 destination需复制到的目标字符数组c、参数三 destinationIndex在字符数组中开始粘贴的位置d、参数四 count需要粘贴到字符数组中的字符个数#静态方法使用格式数据类型 变量名 String.方法名(参数列表);方法-判断- IsNullOrEmpty(string str)return bool判断目标字符串是否为空- Equals(string str1, string str2)return bool判断两个目标字符串是否相同string str aaabbb; //判断目标字符串是否为空 bool aaa String.IsNullOrEmpty(str); Debug.Log(aaa); //输出false //判断两个目标字符串是否相同 bool bbb String.Equals(str, aaabbb); Debug.Log(bbb); //输出true方法-拼接- Concat(params String[] values)return string拼接多个子字符串并返回一个新字符串- Join(string str,string[] strs)return string使用指定分割符连接一个字符串数组的所用元素并返回一个新字符串//多个字符串拼接 string str1 String.Concat(a,b,c,d); Debug.Log(str1); //输出abcd //使用指定字符连接字符串数组 string[] strs {a,b,c,d}; string str2 String.Join(_,strs); Debug.Log(str2); //输出a_b_c_d方法-格式化- Format(String format, params object[] args)return string自定义一个字符串输出格式并将最终结果作为字符串返回a、参数一 format自定义的字符串输出格式b、参数二 args参数数组可指定不限数量个变量/实例/表达式作为插入值c、具体使用参考[字符串基础] - # 格式化输出
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2580023.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!