您的位置:首页 > 编程语言 > C#

C#中一些字符串操作的常用用法

2009-07-15 00:33 726 查看
Code
//获得汉字的区位码
  byte[] array = new byte[2];
  array = System.Text.Encoding.Default.GetBytes("啊");

int i1 = (short)(array[0] - ''\0'');
  int i2 = (short)(array[1] - ''\0'');

//unicode解码方式下的汉字码
  array = System.Text.Encoding.Unicode.GetBytes("啊");
  i1 = (short)(array[0] - ''\0'');
  i2 = (short)(array[1] - ''\0'');

//unicode反解码为汉字
  string str = "4a55";
  string s1 = str.Substring(0,2);
  string s2 = str.Substring(2,2);

int t1 = Convert.ToInt32(s1,16);
  int t2 = Convert.ToInt32(s2,16);

array[0] = (byte)t1;
  array[1] = (byte)t2;

string s = System.Text.Encoding.Unicode.GetString(array);

//default方式反解码为汉字
  array[0] = (byte)196;
  array[1] = (byte)207;
  s = System.Text.Encoding.Default.GetString(array);

//取字符串长度
  s = "iam方枪枪";
  int len = s.Length;//will output as 6
  byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
  len = sarr.Length;//will output as 3+3*2=9

//字符串相加
  System.Text.StringBuilder sb = new System.Text.StringBuilder("");
  sb.Append("i ");
  sb.Append("am ");
  sb.Append("方枪枪");

/////////////////////////////////////////////////////////////////////

string --> byte array

byte[] data=Syste.Text.Encoding.ASCII.GetBytes(string);

string --> byte

byte data = Convert.ToByte(string);

byte[]-->string

string string = Encoding.ASCII.GetString( bytes, 0, nBytesSize );

// reverse 倒序输出

string str = Console.ReadLine();
for (int i = str.Length - 1; i >= 0; i--)
{
Console.Write(str[i]);
}
Console.ReadLine();

对字符串处理的常见功能

* 计算字符串的长度 *

string myString = "This is a test!";
Console.WriteLine("Text is :{0}",myString)
Console.WriteLine("Text's long is :{0}",myString.Length)

* 转换大小写 *

myString = myString.ToLower(); //所有字符转换成小写
myString = myString.ToUpper(); //所有字符转换成大写

* 删除前后空格 *

myString = myString.Trim(); //同时删除字符串前后的空格
char[] trimChars = {' ','e','s'}; //准备删除的字符
myString = myString.Trim(trimChars); //删除所有指定字符
myString = myString.TrimEnd(); //删除字符串后的空格
myString = myString.TrimStart(); //删除字符串前的空格

* 添加空格 *

myString = myString.PadRight(14,' '); //当字符串长度不够14位时,在他的右边用指定字符填充
myString = myString.PadLeft(14,' '); //当字符串长度不够14位时,在他的左边用指定字符填充

* 拆分字符串 *

string[] nStrs = myString.Split(' ',3); //按照空格进行拆分,并且返回前三个字符串

* 获取子字符串 *

string a = myString.Substring(2,2); //从myString字符串的第三位开始获取两个字符,因为索引起始位是0

* 替换字符串中的字符 *

string a = myString.Replace("i","o"); //将这个字符串中的所有“i”替换成“o”

C#中字符串实际上是Char变量的只读数组。可以用下面的方法访问字符串中每一个字符,但是不能修改他们。

string myString = "This is a test!";
foreach (char myChar in myString)
{
Console.Write("{0}",myChar);
}

要想得到一个可读写的字符数组,你可以这样。

char[] myChars = myString.ToCharArray();

特殊字符的表示方法

由于在C#中使用双引号划分字符串的开始和结束,那么对于一些特殊字符,例如双引号本身就需要使用叫做转义字符的辅助字符来表示了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: