C#字符串基础

C#字符串基础

  1. 1.    字符串的两种创建形式

(1)String A=”cat”;

(2)String B=new string{‘a’,4}  .调用类方法,创建一个“aaaa”的字符串

(3)可用A【2】引用‘t’字符

(4)可用 A.Length 直接得出字符串的长度

2.字符串的比较

              (1)string.compare(string1,string2);左大于右,返回1.左右相等返回2右大于左返回-1

(2)如果仅比较两字符串是否相等:string 1.Equals(string 2);相等返回True

(3)如果仅比较两字符串是否相等:string1==string 2;相等返回True(正常引用类型的==判断是对于引用地址是否相同的判断,但是字符串虽然是引用类型但这里将它特殊的以值类型==方式的进行判别)

3.字符串的查找

(1)Contains方法:if(s1.Contains(“abc”/s2);s1中是否包含s2,包含True

(2)IndexOf:  s1.IndexOf(“avd”/’a’/s2);从0开始找字符串中子字符串的出现的首先位置。s1.IndexOf(“avd”/’a’/s2,int number);从number位置开始找字符串中子字符串出现首位置。

LastIndexOf 同IndexOf 只不过它是从后往前找。

(3)IndexOfAny:作用是在一个字符串中,寻找其他几个字符中的任意一个,如果出现任意一个则返回第一个的首位置。如果没有则返回-1

String A=”ABCDEFG”;

Char []c={‘e’,’f’};

Int x=A.IndexOfAny(c);

//单词补充: index 索引,指数 indexOf 索引

  1. 1.    求子字符串

Sting B=A.Substring(2);从2位置开始到最后

String B=A.Substring(2,5);从2号位置到5号位置

//如若传入值小于0,系统会抛出ArgumentOutOfRange异常表明参数范围出界

  1. 2.    字符串中字母大小写的转换

String A=B.Upper();   转换为大写

String B=B.Lower();    转换为小写

  1. 3.    字符串中的插入,删除和替换

String A=”abcdefg”;其中StartIndex 的范围是0-Length-1

(1)String s1=A.Insert(2,”abc”/A); 在2后插入新的字符串

(2) string s2=A.Remove(2); 删除2位置后的所有字符串

(3)string s3=A.Remove(2,3);删除2位置后的三位字符

(4)  string s4=A.Replace(‘a’,’b’);将所有的a字符全部替换为b

(5)  string s5=A.Replace(‘ab’,’’);(‘ ’空字符,不表示,不是空格)

7.字符串的合并与拆分

(1)两字符串合并:string A=B+C;

(2)字符串数组中,字符串元素的合并:string.Join(参数一:用于连接各字符串元素的连接符。Char/string类型 可以是空字符;参数二:所要连接的字符串数组) ;

(3)字符串拆分成字符串数组:string [] B=字符串名.Split(分隔符,char/string型,可以有一个或多个。多个用逗号隔开,不能是空字符);

8.移除首位指定的字符

(1)移除字符串首部:

字符串名.TrimStart();//移除空字符

字符串名.TrimStart(’’);//移除一个字符

字符串名.TrimStart(’,’’’);//移除多个字符

(2)移除字符串尾部TrimEnd()

(3)同时移除字符串首尾字符Trim()

//单词补充: trim n.点缀物;修剪,整理 v.使整齐;整修;欺骗,怒斥; adj.整洁的,整齐的

9.string 与 stringbuilder 的区别

(1)String类实际上表示的是一系列不可变的字符(静态)如 String i+=”abc”; 实际上是返回了一个新的String型实例,不是在原本的String变量的内存上做数据修改。若程序中用到字符串连接的次数少,则此方法方便。但如果程序中存在大量这种操作,则会降低效率

(2)StringBuilder 是System.Text 命名空间下的,可以弥补上述不足。编译器会自动为其分配一定内存,也可以在程序中直接修改(动态)

e.g.

StringBuilder sb1 = new StringBuilder();//空字符串

StringBuilder sb2 = new StringBuilder();

const string s1 = "乾坤转六合"; //定义字符串常量

string s2 = "八荒测阴阳哈哈";   //定义字符串

try{

Console.WriteLine("运行了");

//try中语句出错,不会直接跳到catch中,而是运行到错误的语句时再跳出

sb1.Append(s1);          //Append 可接收字符串常量

sb1.Append(",");        //Append 可直接守字符串常量,及单字符(隐式转换)

sb2.Append(s2);         //Append 可接收字符串

Console.WriteLine("sb2是:"+sb2);

sb1.Append(sb2, 5, 6);  //此处发生错误,跳转到catch中

Console.WriteLine(sb1);}

catch{

sb1.Append(sb2,0, 5);

//在此说明Append的重载:单词补充:Append v.附加增补

//sb.Append(参数一:要连入的字符串s,参数二:s的首位置,参数三:s字符个数)

Console.WriteLine(sb1);Console.WriteLine("!");

sb1.AppendLine();

Console.WriteLine(sb1); Console.WriteLine("!");

//AppendLine 与 Append  的区别仅仅在于多了一个换行符

//用Console.WriteLine 输出时会把sb隐式转换为s

string s3 = sb1.ToString();

Console.WriteLine(s3);}

原文地址:https://www.cnblogs.com/fangexuxiehuihuang/p/11638450.html

时间: 2024-10-11 18:30:40

C#字符串基础的相关文章

Python<3>字符串基础

字符串是单个字符的字符串序列,有序字符的集合. Python允许字符串包括在双引号或单引号中(代表相同的东西). 序列操作 <1>索引 正向索引,反向索引 <2>分片 包括左边,不包括右边 左边默认为0,右边默认为len(str) 可以设置读取的间隔 <3>合并+.重复* 不可变性 创建后就不能被改变,不能对某一位置赋值 常用表达式 <1>str='' :空字符串 <2>str1.find(str2):返回子字符串的偏移量 <3>st

[ Perl 6 ] 字符串基础操作

[ Perl 6 ] 字符串基础操作 There is more than one way to do it. 字符串转换为列表:"banana".comb; # => (b a n a n a) 字符串长度:chars "banana"; "banana".chars; # => 6 字符串查找: index "banana", "na"; # => 2 index "bana

c#编程基础之字符串基础

1.C#中单个的字符串用单引号包含就是char类型,('a'),单引号中放且只能放一个字符 2.单个字符也可以表示为字符串,还可以有长度为0的字符串. 3.使用s.Length属性来获得字符串中的字符个数. 4.string 可以看做是char类型的只读数组.char c=s[1];例子:遍历输出string中的每个元素. 5.c#中字符串有一个重要的特性:不可变性.字符串一旦声明,就不再可以改变. 所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改. 6.如果要对cha

UVa 10340 字符串基础

背景:小紫书习题,开始数组开小了runtime error了一次,显然数组越界.复杂度:O(max(A的长度,B的长度)). 题意:看字符串A是不是字符串B的子串.直接顺序扫描即可. #include<stdio.h> #include<string.h> char str[1000000],ttr[1000000]; int main(void){ while(scanf("%s %s",str,ttr)!=EOF){ int j=0,sj=strlen(st

JavaScript数组和字符串基础

数组的一些常用用法及练习 Array.concat( ) 连接数组 练习:    var arr=[1,2,3,4,5];     arr1=[7,8,9];     document.write(arr.concat(arr1[0]))//返回1,2,3,4,5,7 Array.join( ) 将数组元素连接起来以构建一个字符串  Array.length 数组的大小 Array.pop( ) 删除并返回数组的最后一个元素 练习:     var arr=[1,2,3,4,5]     doc

HDU字符串基础题(1020,1039,1062,1088,1161,1200,2017)

并不是很精简,随便改改A过了就没有再简化了. 1020. Problem Description Given a string containing only 'A' - 'Z', we could encode it using the following method: 1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only c

python3——字符串基础

字符串可以使用一对单引号或一对双引号指定起止位置,两种方式指定的字符串完全等价. 如'Hello'和"World" 可以用三引号("""或''')指定多行字符串,其中可自由使用单.双引号而不需转义. 如'''"What's your name?," I asked.''' 字符串过长不方便写在一行时,可以使用反斜杠跨行而不增加换行符. 如: "abcde\ fgh" 等价于"abcdefgh" 如

python字符串基础知识

1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为"r",C#里面为@逐字符 3.使用index获取字符串的某个字符:如字符串str="abcd123456" ,使用str[3]得到一个字符d 4.使用[startindex:endIndex]截取字符串,如:str[2:3],结果为:c,这里注意的一点:截取的字符串包括开始字符(

Python字符串基础操作

==============字符串======== >>> s1='www.baidu.com' >>> type(s1) <type 'str'> >>> type(2) <type 'int'> >>> type("'dsfdsjk'") <type 'str'> 用type()测一下是什么类型 字符串的访问 s1[0]=’  s1[2]=w  用下标来访问 >>