C++ Programmer's Cookbook

{C++ 基础} {C++ 高级} {C#界面,C++核心算法} {设计模式} {C#基础}

.net下汉字字符串,一般字符串,时间日期的常用方法

// 获得汉字的区位码
   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(
" " );
  sb.Append(
" am  " );
  sb.Append(
" 方枪枪 " ); 

1 、DateTime 数字型 
System.DateTime currentTime
= new  System.DateTime(); 
1.1  取当前年月日时分秒 
currentTime
= System.DateTime.Now; 
1.2  取当前年 
int  年 = currentTime.Year; 
1.3  取当前月 
int  月 = currentTime.Month; 
1.4  取当前日 
int  日 = currentTime.Day; 
1.5  取当前时 
int  时 = currentTime.Hour; 
1.6  取当前分 
int  分 = currentTime.Minute; 
1.7  取当前秒 
int  秒 = currentTime.Second; 
1.8  取当前毫秒 
int  毫秒 = currentTime.Millisecond; 
(变量可用中文) 

2 、Int32.Parse(变量) Int32.Parse( " 常量 "
字符型转换 转为32位数字型 

3 、 变量.ToString() 
字符型转换 转为字符串 
12345 .ToString( " n " );  // 生成 12,345.00 
12345 .ToString( " C " );  // 生成 ¥12,345.00 
12345 .ToString( " e " );  // 生成 1.234500e+004 
12345 .ToString( " f4 " );  // 生成 12345.0000 
12345 .ToString( " x " );  // 生成 3039 (16进制) 
12345 .ToString( " p " );  // 生成 1,234,500.00% 


4 、变量.Length 数字型 
取字串长度: 
如: 
string  str = " 中国 "
int  Len  =  str.Length ;  // Len是自定义变量, str是求测的字串的变量名 

5 、System.Text.Encoding.Default.GetBytes(变量) 
字码转换 转为比特码 
如:
byte [] bytStr  =  System.Text.Encoding.Default.GetBytes(str); 
然后可得到比特长度: 
len 
=  bytStr.Length; 

6 、System.Text.StringBuilder( ""
字符串相加,(
+ 号是不是也一样?) 
如:System.Text.StringBuilder sb 
=   new  System.Text.StringBuilder( "" ); 
sb.Append(
" 中华 " ); 
sb.Append(
" 人民 " ); 
sb.Append(
" 共和国 " ); 

7 、变量.Substring(参数1,参数2); 
截取字串的一部分,参数1为左起始位数,参数2为截取几位。 
如:
string  s1  =  str.Substring( 0 , 2 ); 

8 、String user_IP = Request.ServerVariables[ " REMOTE_ADDR " ].ToString(); 
取远程用户IP地址 

9 、穿过代理服务器取远程用户真实IP地址: 
if (Request.ServerVariables[ " HTTP_VIA " ] != null )
string  user_IP = Request.ServerVariables[ " HTTP_X_FORWARDED_FOR " ].ToString(); 
}
else
string  user_IP = Request.ServerVariables[ " REMOTE_ADDR " ].ToString(); 
}
 

10 、 Session[ " 变量 " ]; 
存取Session值; 
如,赋值: Session[
" username " ] = " 小布什 "

取值: Object objName
= Session[ " username " ]; 
String strName
= objName.ToString(); 
清空: Session.RemoveAll(); 

11 、String str = Request.QueryString[ " 变量 " ]; 
用超链接传送变量。 
如在任一页中建超链接:
< a href = Edit.aspx ? fbid = 23 > 点击 </ a >  
在Edit.aspx页中取值:String str
= Request.QueryString[ " fdid " ]; 

12 、DOC对象.CreateElement( " 新建节点名 " ); 
创建XML文档新节点 

13 、父节点.AppendChild(子节点); 
将新建的子节点加到XML文档父节点下 

14 、 父节点.RemoveChild(节点); 
删除节点 

15 、Response 
Response.Write(
" 字串 " ); 
Response.Write(变量); 
向页面输出。 

Response.Redirect(
" URL地址 " ); 
跳转到URL指定的页面 

16 char .IsWhiteSpce(字串变量,位数)——逻辑型 
查指定位置是否空字符; 
如: 
string  str = " 中国 人民 "
Response.Write(
char .IsWhiteSpace(str, 2 ));  // 结果为:True, 第一个字符是0位,2是第三个字符。 

17 char .IsPunctuation( ' 字符 ' -- 逻辑型 
查字符是否是标点符号 
如:Response.Write(
char .IsPunctuation( ' A ' ));  // 返回:False 

18 、( int ) ' 字符 '  
把字符转为数字,查代码点,注意是单引号。 
如: 
Response.Write((
int ) ' ' );  // 结果为中字的代码:20013 

19 、( char )代码 
把数字转为字符,查代码代表的字符。 
如: 
Response.Write((
char ) 22269 );  // 返回“国”字。 

20 、 Trim() 
清除字串前后空格 

21  、字串变量.Replace( " 子字串 " , " 替换为 "
字串替换 
如: 
string  str = " 中国 "
str
= str.Replace( " " , " " );  // 将国字换为央字 
Response.Write(str);  // 输出结果为“中央” 

再如:(这个非常实用) 

string  str = " 这是<script>脚本 "
str
= str.Replace( " < " , " <font><</font> " );  // 将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原) 
Response.Write(str);  // 显示为:“这是<script>脚本” 

如果不替换,
< script > 将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 
这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 
具体实现:将你的表单提交按钮脚本加上下面代码: 
string  strSubmit = label1.Text;  // label1是你让用户提交数据的控件ID。 
strSubmit = strSubmit.Replace( " < " , " <font><</font> " ); 
然后保存或输出strSubmit。 
用此方法还可以简单实现UBB代码。 

22 、Math.Max(i,j) 
取i与j中的最大值 
如 
int  x = Math.Max( 5 , 10 );  //  x将取值 10 

23 、字串对比一般都用:  if (str1 == str2) { }  , 但还有别的方法: 

(
1 )、 
string  str1; str2 
// 语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: 
if (str1.EndsWith(str2)) { Response.Write( " 字串str1是以 " + str2 + " 结束的 " ); }  

(
2 )、 
// 语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 

(
3 )、 
// 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 

24 、IndexOf() 、LastIndexOf() 
查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如: 
str1.IndexOf(
" " );  // 查找“字”在str1中的索引值(位置) 
str1.IndexOf( " 字串 " ); // 查找“字串”的第一个字符在str1中的索引值(位置) 
str1.IndexOf( " 字串 " , 3 , 2 ); // 从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置) 

25 、Insert() 
在字串中指定索引位插入指定字符。如: 
str1.Insert(
1 , " " );在str1的第二个字符处插入“字”,如果str1 = " 中国 " ,插入后为“中字国”; 

26 、PadLeft()、PadRight() 
在字串左(或右)加空格或指定char字符,使字串达到指定长度,如: 
<%  
string  str1 = " 中国人 "
str1
= str1.PadLeft( 10 , ' 1 ' );  // 无第二参数为加空格 
Response.Write(str1);  // 结果为“1111111中国人” , 字串长为10 
%>  

27 、Remove() 
从指定位置开始删除指定数的字符 
字串对比一般都用: 
if (str1 == str2) { }  , 但还有别的方法: 

1 、 
string  str1; str2 
// 语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: 
if (str1.EndsWith(str2)) { Response.Write( " 字串str1是以 " + str2 + " 结束的 " ); }  

2 、 
// 语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 

3 、 
// 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 

IndexOf() 
查找字串中指定字符或字串首次出现的位置,返首索引值,如: 
str1.IndexOf(
" " );  // 查找“字”在str1中的索引值(位置) 
str1.IndexOf( " 字串 " ); // 查找“字串”的第一个字符在str1中的索引值(位置) 
str1.IndexOf( " 字串 " , 3 , 2 ); // 从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置) 

1.9  取中文日期显示——年月日时分 
string  strY = currentTime.ToString( " f " );  // 不显示秒 

1.10  取中文日期显示_年月 
string  strYM = currentTime.ToString( " y " ); 

1.11  取中文日期显示_月日 
string  strMD = currentTime.ToString( " m " ); 

1.12  取当前年月日,格式为: 2003 - 9 - 23  
string  strYMD = currentTime.ToString( " d " ); 

1.13  取当前时分,格式为: 14 24  
string  strT = currentTime.ToString( " t " ); 

posted on 2006-07-24 09:00 梦在天涯 阅读(1115) 评论(0)  编辑 收藏 引用 所属分类: C#/.NET


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

EMail:itech001#126.com

导航

统计

  • 随笔 - 461
  • 文章 - 4
  • 评论 - 746
  • 引用 - 0

常用链接

随笔分类

随笔档案

收藏夹

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

积分与排名

  • 积分 - 1748289
  • 排名 - 5

最新评论

阅读排行榜