C#字符串处理--学习笔记
1、string类型变量可以看作是char变量的只读数组,使用下面的语法访问每个字符:
string myString = "A string";
char myChar = myString[1];
2、使用了数组变量的ToCharArray()命令给各个字符赋值,获得一个可写的char 数组。
string myString = "A string";
char[] myChars = myString.ToCharArray();
foreach (char character in myChars)
{
Console.Write("{0}", character);
}
Console.ReadKey();
3、使用 <string>.Length 获取元素的个数,这将给出字符串中字符数
string myString = Console.ReadLine();
Console.Write("You typed {0} characters.", myString.Length);
Console.ReadKey();
4、<string>.ToLower()和<string>.ToUpper(),它们可以分别把字符串转换为大写或小写形式。
<string>.Trim(char[])命令:删除输入字符串中的空格、其他字符
<string>.TrimStart()和<string>.TrimEnd()命令:把字符串的前面或后面的空格删掉。这些命令也需要指定char 数组。
<string>.PadLeft(<desiredLength>)和<string>.PadRight(<desiredLength>):可以在字符串的左边或右边添加空格,使字符串达到指定的长度。
<string>.Split(separator):把 string 转换为 string 数组,把它在指定的位置分隔开,这些位置采用 char数组的形式,常用的有空格char[] separator = {' '},逗号。
e.g.要检查用户的某个响应,例如字符串 yes。如果可以把用户输入的字符串转换为小写形式,就也能检查字符串 YES、Yes、yeS 等。
------字符串处理实例:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace 字符串处理
8 {
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 //例1
14 //string myString = "A string";
15 //char[] myChars = myString.ToCharArray();
16 //foreach (char character in myChars)
17 //{
18 // Console.Write("{0}", character);
19 //}
20 //Console.ReadKey();
21
22 //例2
23 //string myString = Console.ReadLine();
24 //Console.Write("You typed {0} characters.", myString.Length);
25
26 //例3
27 //string myString = "This is a test.";
28 //char[] separator = {' '};
29 //string[] myWords;
30 //myWords = myString.Split(separator); //得到的每个单词没有空格,单词的内部和两端都没有空格。在使用Split()时,删除了分隔符。
31 //foreach (string word in myWords)
32 //{
33 // Console.Write("{0}", word);
34 //}
35
36 //例4
37 //Console.Write("请输入一行字符串:");
38 //string myString = Console.ReadLine();
39 // char[] myChars = myString.ToCharArray();
40 //Console.Write("\n反序输出字符串:");
41 //for (int i = myString.Length-1; i >= 0; i--)
42 //{
43 //Console.Write(myChars[i]);
44 //}
45 // Console.ReadKey();
46
47
48 //练习5:将一个字符串数组的元素的顺序进行反转。{“3”,“a”,“8”,“haha”}
49 //{“haha”,“8”,“a”,“3”}。第i个和第length-i-1个进行交换。
50
51 string[] a ={ "3", "a", "8", "haha","zhou" };
52 string temp; //引入一个局部变量用于交换,不然值会覆盖
53 for (int i = 0; i < a.Length; i++)
54 {
55 Console.WriteLine("第{0}个字符串为{1}:", i + 1, a[i]);
56 }
57 for (int i = 0; i < a.Length/2; i++)
58 {
59 temp = a[i];
60 a[i] = a[a.Length - i -1]; //n个元素进行交换,交换n/2次;在一个循环中第i个元素与第length-i-1个元素
61 a[a.Length - i - 1] = temp;
62 }
63 for (int i = 0; i < a.Length; i++)
64 {
65 Console.WriteLine("新数组第{0}个元素{1}:", i + 1, a[i]);
66 }
67 Console.ReadKey();
68
69 }
70 }
71 }
72