asp.net中C#字符串操作函数与方法

(1)取字符串长度 <string>.Length;
(2)字符串转为比特码 GetBytes(<string>)
(3)字符串相加 推荐StringBuilder sb = new StringBuilder();sb.Append(<string>);
(4)截断字符串的一部分 变量.SubString(起始位置,截取位数);
(5)查指定位置是否为空字符 char.IsWhiteSpace(字符串变量,位数);
(6)查字符是否是标点符号 char.IsPunctuation(‘字符');
(7)把字符转化为数字,查代码点 (int)'变量'
(8)把数字转为字符,查代码代表的字符 (char)代码
(9)清除字符串前后包含的空格 变量.Trim()
(10)替换字符串:字符串变量.Replace(原字符串,新的字符串)
(11)删除字符串最后一个字符的3种方法

 代码如下 复制代码
Eg:string s = “1,2,3,4,5,”;
a) s.SubString(0,s.Length-1)//删除最后一个逗号
b) s.ToString().RTrim(‘,');//删除逗号,跟的变量是任何有效的字符串
c) s.TrimEnd(‘,');//删除逗号,后面跟的变量是数组
char[] mychar={‘5',','};//删除‘5‘以及',‘
s.TrimEnd(mychar);

(12)Split的3种方法
a) 用单个字符来分隔 <string>.Split(new char[]{‘字符'}) // <string>.Split(‘字符');
b) 用多个字符来分隔 <string>.Split(new char[2]{‘字符',''})
c) 用字符串来分隔 Regex.Split(<string>,”字符串”,RegexOptions.IgnoreCase);

(13)几种输出字符串的格式

 代码如下 复制代码
ToString(“n”); //生成12,345.00
ToString(“C”); //生成¥12,345.00
ToString(“e”); //生成1.234500e+004
ToString(“f4”); //生成12345.0000
ToString(“x”); //生成3039(16进制)
ToString(“p”); //生成1,234,500.00%

(14)把123456789转换为12-345-6789的3种方法

 代码如下 复制代码
(a)A = int.Parse(a).ToString(“##-###-####”);
(b)A = a.Insert(5,”-”).Insert(2,“-”);
(c)Using System.Text.RegularExpressions; //先引用
Regex reg = new Regex(@“^(d{2})(d{3})(d{4})$”);
A = reg.Replace(a,”$1-$2-$3”);

(15)输出21个A的简单方法 striing str = new string(‘A',21);
(16)得到随机数的方法

 代码如下 复制代码
Ramdom r = new Ramdom();
Int n1 = r.Next(); //返回非负随机整数
Int n2 = r.Next(10); //返回一个小于所指定最大值(10)的非负随机整数
Int n3 = r.Next()%10; //返回一个小于所指定最大值(10)的非负随机整数
Int n4 = r.Next(1,20); //返回一个指定范围(1~20)内的随机整数
Int n5 = r.NextDouble(); //得到一个介于0.0~1.0之间的随机整数

(17)Int32.TryParse(),Int32. Parse(),Convert.ToInt32()比较:
都是将字符串转换为整数数字

 代码如下 复制代码
Int32.TryParse(string,out int);
Int = Int32. Parse(string);
Int = Convert.ToInt32(string);

比较:Convert.ToInt32()在null时不抛出异常而是返回零;Int32. Parse()会抛出异常;Int32.TryParse()不抛出异常,会返回true或false来说明解析是否成功。如果解析错误,则out调用放将会得到零值;
从性能上讲,Int32.TryParse()优于Int32.Parse(),而Int32.Parse()优于Convert.ToInt32()。
建议:在.NET1.1下用Int32.Parse();在.NET2.0下用Int32.TryParse()。

补充

 代码如下 复制代码

//获得汉字的区位码
    byte[] array = new byte[2];
    array = System.Text.Encoding.Default.GetBytes("啊");
  
  
  
  int i1 = (short)(array[0] - '''');
    int i2 = (short)(array[1] - '''');
  
  
  //unicode解码方式下的汉字码
    array = System.Text.Encoding.Unicode.GetBytes("啊");
    i1 = (short)(array[0] - '''');
    i2 = (short)(array[1] - '''');
  
  
  //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#中使用双引号划分字符串的开始和结束,那么对于一些特殊字符,例如双引号本身就需要使用叫做转义字符的辅助字符来表示了

字符串的比较等常用操作

1.字符串比较

 代码如下 复制代码
string.Compare(x,y);
<0: x 小于 y。 或 x 为空引用。
=0: x 等于 y。
>0: x 大于 y。 或 y 为空引用。
string.Equals(x,y);
true x 等于 y。
false x 不等 y。
2.从字符串中提取子串
StringBuilder 类没有支持子串的方法,因此必须用String类来提取。
string mystring="My name is ynn.";
//Displays "name is ynn."
Console.WriteLine(mystring.Substring( 3 ));
//Displays "ynn"
Console.WriteLine(mystring.Substring( 11,3 ));

3.格式化数字
c、C         货币格式。
d、D         十进制格式。
e、E         科学计数(指数)格式。
f、F         固定点格式。
g、G         常规格式。
n、N         数字格式。
r、R         往返格式,确保将已转换成字符串的数字转换回数字时具有与原数字相同的值。
x、X         十六进制格式。

 代码如下 复制代码
double val=Math.PI;
Console.WriteLine(val.ToString( ));    //displays 3.14159265358979
Console.WriteLine(val.ToString("E"));//displays 3.141593E+000
Console.WriteLine(val.ToString("F3");//displays 3.142
int val=65535;
Console.WriteLine(val.ToString("x"));    //displays ffff
Console.WriteLine(val.ToString("X"));    //displays FFFF
Single val=;
Console.WriteLine(val.ToString("p"));    //displays 12.30 %
Console.WriteLine(val.ToString("p1"));    //displays 12.3 %

默认格式化会在数字和百分号之间放入一个空格。定制方法如下:
其中NumberFormatInfo类是System.Globalization命名空间的一个成员,因此该命名空间必须导入到程序中。

 代码如下 复制代码
Single val=;
object myobj=NumberFormatInfo.CurrentInfo.Clone( ) as NumberFormatInfo;
NumberFormatInfo myformat=myobj as NumberFormatInfo;
myformat.PercentPositivePattern=1;
Console.WriteLine(val.ToString("p",myformat)); //displays 12.30%;
Console.WriteLine(val.ToString("p1",myformat)); //displays 12.3%;

格式化具有很大的灵活性。下面的例子演示一个没有意义的货币结构:

 代码如下 复制代码
double val=1234567.89;
int [] groupsize={2,1,3};
object myobj=NumberFormatInfo.CurrentInfo.Clone( );
NumberFormatInfo mycurrency=myobj as NumberFormatInfo;
mycurrency.CurrencySymbol="#"; //符号
mycurrency.CurrencyDecimalSeparator=":"; //小数点
mycurrency.CurrencyGroupSeparator="_";    //分隔符
mycurrency.CurrencyGroupSizes=groupsize;
// 输出 #1_234_5_67:89
Console.WriteLine(val.ToString("C",mycurrency));

最后一个类自己慢慢看吧

 代码如下 复制代码

using System;

namespace testStringApp
{
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 class Class1
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   //
   // TODO: 在此处添加代码以启动应用程序
   //
   //直接给字符串赋值
   string strA = "This is a string";
   Console.WriteLine ("strA: "+strA);
   //ToCharArray方法,建立Char数组;IndexOf方法,查找子串位置
   char[] charArray = strA.ToCharArray(0,strA.IndexOf ("string"));
   //使用new关键字初始化字符串,作用等同于charArray.ToString()
   string strB = new string (charArray);
   Console.WriteLine ("strB: "+strB);
   //Insert方法,插入子串
   string strC = strA.Insert (strA.IndexOf ("string"),"another ");
   Console.WriteLine ("strC: "+strC);
   //+操作符,连接字符串
   string strD = strA + strB;
   Console.WriteLine ("strD: "+strD);
   //String.Concat方法,链接字符串,相当于+
   //String.Equals方法,比较字符串,相当于==
   if (String.Equals (strD,String.Concat (strA,strB)))
   {
    if (strD == strA+strB)
    {
     Console.WriteLine ("String.Concat等同于+/n,System.Equals等同于==");
    }
   }
   //Trim方法,删除字符串中的空格或其它字符
   string strE = strA.Trim();
   Console.WriteLine ("strE: "+strE);
   //使用/显示引号"和反斜线/
   string strF = "C://Windows//System32//";
   Console.WriteLine ("/"" + strF + "/"");
   //使用@显示引号"和反斜线/
   string strG = @"C:/Windows/System32/";
   Console.WriteLine (@"""" + strG + @"""");
   //string转换为int型
   string strH = "12345";
   int theInt = int.Parse (strH);
   Console.WriteLine ("科学计数显示整数{0:E}",theInt);
   Console.WriteLine ("十六进制显示整数{0:X}",theInt);
   //string转换为float型
   string strI = "123.45";
   float theFloat = float.Parse (strI);
   Console.WriteLine ("显示浮点数,指定小数位数{0:F4}",theFloat);
            Console.ReadLine();
  }
 }
}

1)截取字符串
使用substring方法,而该方法在c#中有两个重载函数:substring(参数),substring(参数1,参数2),用法如下:

 代码如下 复制代码
string A ="I'm a string";
sting B=A.substring(1);
sting C=A.substring(1,6);

其中传入的参数1为字符串的起始位置,字符子串B将截取字符串A的第2个字符之后所有的字符.
字符子串C将截取字符串A的第2个字符之后的长度为6的字符串.
参数必须大于等于0,如果小于0将抛出ArgumentOutOfRange异常.
2)字符串转化为字符数组
首先,string类型变量可以看成为char变量的只读数组,这样就可以使用如下语法访问每个字符:
string A = "i'm a string"
char B =A[1];
而要是把字符串变为可写的char数组,可以使用TocharArray()方法:
char [] = A.Tochararray();
使用B.Length获取字符串的长度.
3)转换大小写
<string>.ToLower() 转换成小写
<string>.ToUpper() 转换成大写
4)删除字符串种的空格或者指定的字符
 删除字符串前后的空格:
<string>.Trim()
删除指定的字符:
首先利用char数组指定特定字符
char[] C ={' ','e',}
<string>.Trim(C)
也可以使用Trimstart(),TrimEnd()分别去除前后的空格或者指定的字符
5)在字符串前后添加空格或者指定的字符
<string>.PadLeft(参数) <string>.PadRight(参数)  参数为添加空格后字符串的长度
<string>.PadLeft(参数1,参数2) 参数1为使字符串达到的长度,参数2为指定添加的字符.
6)indexof()的用法
IndexOf()
查找字串中指定字符或字串首次出现的位置,返回首索引值,如:
str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)
str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf("字",start,end);//从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]注意:start+end不能大于str1的长度
7)insert()的用法
<string>.insert(参数1,参数2)
参数1为插入子字符串的其实位置,参数2为要插入的子字符串
8)比较字符串的大小
Compare(str1,str2)——比较两个字符串 str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数
9)替换指定的字符串
String.Replace(参数1,参数2)——用指定的字符替换字符串中的指定字符
字符串的处理方法还有很多,这里就不一一列举了,以后用到在慢慢学习.

时间: 2024-08-25 10:26:16

asp.net中C#字符串操作函数与方法的相关文章

C字符串操作函数实现方法小结_C 语言

本文实例讲述了C字符串操作函数实现方法.分享给大家供大家参考.具体如下: 下面是部分C字符串操作函数的实现,或许在某些笔试时可以用到! #ifndef NULL #define NULL ((void *)0) #endif /* memcpy的实现代码 */ void* memcpy(void *pDst, void *pSrc, int iLen) { char *pTmp = (char *)pDst; char *pTmp2 = (char *)pSrc; if(0 == iLen) r

c语言中的字符串操作函数

函数名: stpcpy 功  能: 拷贝一个字符串到另一个 用  法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) {    char string[10];    char *str1 = "abcdefghi";    stpcpy(string, str1);    printf("%s/n

asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

通常javascript代码可以与HTML标签一起直接放在前 端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把 javascript代码放到独立的js文件中,其他页面通过引入该js文件来使用相应的 javascript代码.用如下方法引用JS文件:<script src="script/admin.js" type="text/javascript"></scr

perl中的字符串操作函数chomp与chop介绍_perl

chomp与chop都是用于去除字符串变量尾部的字符,但它们有各自的区别. chomp函数对变量起作用,而此变量含有字符串.如果字符串结尾有换行符,chomp可以去掉它.这基本上就是它能完成的所有功能,如下例: 复制代码 代码如下: $text="alineoftext\n      "; #也可以由<STDIN>输入 chomp($text);    #去掉换行符(\n). 它非常有用,基本上你的每一个程序都会用到它.如你将知道,这是将字符串末尾换行符去掉的最好方法.基于

Linux下常用C语言字符串操作函数

stroul, strdup snprintf() atio   C中常用字符串操作函数 #include <string.h>   size_t strlen(const char *s)   测量字符串长度s的实际长度. 例如s[20]="abc",那么strlen(s)的结果是3,而不是20.这就是实际长度   char *strcat(const char *s1, const *s2)    将字符串s2连接到s1的尾部.从s1的/0开始.   int strcm

asp小偷程序中的字符串截取函数

函数|字符串|小偷程序 asp小偷程序中的字符串截取函数 以下是函数代码:'******************************************************************************** '    Function(公有) '    名称 :    字符串截取函数 '    作用 :    按指定首尾字符串截取内容(本函数为从左向右截取) '    参数 :    sContent ---- 被截取的内容 '        sStart ----

JavaScript中常见的字符串操作函数及用法汇总_javascript技巧

本文实例总结了JavaScript中常见的字符串操作函数及用法.分享给大家供大家参考.具体分析如下: 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信你也跟我一样,发现字符串的处理是前端招聘过程中最常见的题型之一.这些题有一个特点,站在考官的角度去考虑,它考的不是你会不会,而是你能不能在不借用XX手册或者XX指南再或者百度谷歌的情况下,用比较简洁的方式写出答案来.可惜的是,很多开发人员,当然我也

字符串操作函数

函数|字符串 PHP3.0中的字符串操作功能是比较多的,重要的有以下这些: (1)echo,print,printf,sprintf 用于输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数. (2)strchr, strlen, strtok, strrchr, strrev, strstr, strtolower, strtoupper, substr, ucfirst 用的字符串操作函数,有些和C中的同名函数意义完全一致. strrev是把一个字符串翻转. str

PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)_php技巧

本文实例总结了PHP常用字符串操作函数.分享给大家供大家参考,具体如下: /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * sprintf() 把格式化的字符串写入到一个变量中 * */ //ucfirst //将字符串中的首字母转换为大写 $str="string"; echo ucfirst($str); echo "<hr&