C#中Split分隔字符串的应用 
1、用字符串分隔: 
using System.Text.RegularExpressions;

 

string str="aaajsbbbjsccc";

string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);

foreach (string i in sArray) Response.Write(i.ToString() + "<br>");



输出结果:
aaa
bbb
ccc
 

2、用多个字符来分隔:

string str="aaajbbbscccjdddseee";

string[] sArray=str.Split(new char[2]{'j','s'}); 

foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 



输出结果:
aaa
bbb
ccc
ddd
eee
 

3、用单个字符来分隔:

string str="aaajbbbjccc";

string[] sArray=str.Split('j');

foreach(string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:
aaa
bbb
ccc


==================
子窗体返回主窗体 

 /**////<summary> 
 ///名称:redirect 
 ///功能:子窗体返回主窗体 
 ///参数:url 
 ///返回值:空 
 ///</summary> 
 public void redirect(string url,Page page) 
 
  if ( Session["IfDefault"]!=(object)"Default") 
  {     
   page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>"); 
  } 
 } 

 判断是否为数字 

 /**//// <summary> 
 /// 名称:IsNumberic 
 /// 功能:判断输入的是否是数字 
 /// 参数:string oText:源文本 
 /// 返回值: bool true:是 false:否 
 /// </summary> 
  
 public bool IsNumberic(string oText) 
 
  try 
  
   int var1=Convert.ToInt32 (oText); 
   return true; 
  } 
  catch 
  
   return false; 
  } 
 } 

 获得字符串实际长度(包括中文字符) 

 //获得字符串oString的实际长度 
 public int StringLength(string oString) 
 
  byte[] strArray=System.Text .Encoding.Default .GetBytes (oString); 
  int res=strArray.Length ; 
  return res; 
 } 

 将回车转换为TAB 

 //当在有keydown事件的控件上敲回车时,变为tab 
 public void Tab(System.Web .UI.WebControls .WebControl webcontrol) 
 
  webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9"); 
 } 

 datagrid分页中如果删除时出现超出索引 

 public void jumppage(System.Web.UI.WebControls.DataGrid dg) 
 
  int int_PageLess; //定义页面跳转的页数 
  //如果当前页是最后一页 
  if(dg.CurrentPageIndex == dg.PageCount-1) 
  
   //如果就只有一页 
   if(dg.CurrentPageIndex == 0) 
   
    //删除后页面停在当前页 
    dg.CurrentPageIndex = dg.PageCount-1;    
   } 
   else 
   
    //如果最后一页只有一条记录 
    if((dg.Items.Count % dg.PageSize == 1) || dg.PageSize == 1) 
    
     //把最后一页最后一条记录删除后,页面应跳转到前一页 
     int_PageLess = 2; 
    } 
    else      //如果最后一页的记录数大于1,那么在最后一页删除记录后仍然停在当前页 
    
     int_PageLess = 1; 
    } 
    dg.CurrentPageIndex = dg.PageCount - int_PageLess; 
   } 
  } 
 }


*/

//Base64编码
public string EncodeBase64(string code_type,string code)
  {
   string encode = "";
   byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
   try
   {
    encode = Convert.ToBase64String(bytes);
   }
   catch
   {
    encode = code;
   }
   return encode;
  }



 c#的一些字符串的经验
//获得汉字的区位码 
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 fox; 
fox.ToLower()转化成小写字母 
fox.ToUpper()转化成大写字母 
fox.Trim()删除前后空格 
fox.Trim(trimChars)删除其它字符 
fox.TrimStart()删除前空格 
fox.TrimEnd()删除后空格 
fox.PadLeft(10)增加左边空格,使字串达到某长度。 
fox.PadRight(10)增加右边空格,使字串达到某长度。 
fox.PadX(10,'-')增加其它字符,使字串达到某长度。X指:Left/Right 
fox.Split(' ')将字串分解成数组 

//格式化 
string sf=string.Format("{0}年{1}月{2}日 {3}时{4}分",temp.Year,temp.Month,temp.Day,currTime.TruantTime.Hour,currTime.TruantTime.Minute); 

//一些正则表达式 
Internet地址表达式 
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 
Email地址表达式 
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
邮编 
\d{6} 
电话号码 
(\(\d{3}\)|\d{3}-)?\d{8} 

//分隔字符串 
string total="aaa,bbb,ccc,dddd"; 
string[]strArray; 
char[]charArray=new char[]{','}; 
strArray=total.Split(charArray); 

//日期 
DateTime t1 = new DateTime(2002,5,30); 
DateTime t2 = new DateTime(2002,5,23); 
TimeSpan diff=t1-t2; 
MessageBox.Show(diff.Days.ToString( 

System.DateTime.Now.ToString() 

DateTime d1=Convert.ToDateTime("2003-01-01 18:20:01"); 
string s=d1.ToString("yyyy-MM-dd HH:mm:ss"); 

//目录 
Environment.CurrentDirectory 
Application.StartupPath  

//Base64解码
public string DecodeBase64(string code_type,string code)
  {
   string decode = "";
   byte[] bytes = Convert.FromBase64String(code);
   try
   {
    decode = Encoding.GetEncoding(code_type).GetString(bytes);
   }
   catch
   {
    decode = code;
   }
   return decode;
  }


//将querystirng转换成url:
public static string GetRedirectUrl(NameValueCollection queryString)
        {
            string redirectUrl = string.Empty;
            int counter = 0;
            foreach(string key in queryString.Keys)
            {                
                redirectUrl += string.Format("{0}{1}={2}", (counter>0)?"&":"", key, queryString[key]);
                counter++;
            }
            return redirectUrl;
        }


    }
}
一. 显示消息对话框类 

   做项目时总免不了要弹出对话框,或提示用户,或做用户确认。像WinForm下的MessageBox一样很方便,但web下是不是也可以实现呢,答案是肯定的,我简单总结了一下并封装到类,在项目里像WinForm的MessageBox那样直接调用就可以,也可以把它编译成dll作为组件直接调用,并且它也没有弹出对话框时的大白屏现象:)。 

     /**//// <summary> 

     /// 显示消息提示对话框。


     /// 2005.10.1 

     /// </summary> 

     public class MessageBox 

     {        

         private  MessageBox() 

         {             

         } 

         /**//// <summary> 

         /// 显示消息提示对话框 

         /// </summary> 

         /// <param name=page>当前页面指针,一般为this</param> 

         /// <param name=msg>提示信息</param> 

         public static void  Show(System.Web.UI.Page page,string msg) 

         

              page.RegisterStartupScript(message,<script language='javascript' defer>alert('+msg.ToString()+');</script>); 

         } 

         /**//// <summary> 

         /// 控件点击消息确认提示框 

         /// </summary> 

         /// <param name=page>当前页面指针,一般为this</param> 

         /// <param name=msg>提示信息</param> 

         public static void  ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg) 

         

              //Control.Attributes.Add(onClick,if (!window.confirm('+msg+')){return false;}); 

              Control.Attributes.Add(onclick, return confirm(' + msg + ');) ; 

         } 

         /**//// <summary> 

         /// 显示消息提示对话框,并进行页面跳转 

         /// </summary> 

         /// <param name=page>当前页面指针,一般为this</param> 

         /// <param name=msg>提示信息</param> 

         /// <param name=url>跳转的目标URL</param> 

         public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url) 

         

              StringBuilder Builder=new StringBuilder(); 

              Builder.Append(<script language='javascript' defer>); 

              Builder.AppendFormat(alert('{0}');,msg); 

              Builder.AppendFormat(top.location.href='{0}',url); 

              Builder.Append(</script>); 

              page.RegisterStartupScript(message,Builder.ToString()); 


 
         } 

         /**//// <summary> 

         /// 输出自定义脚本信息 

         /// </summary> 

         /// <param name=page>当前页面指针,一般为this</param> 

         /// <param name=script>输出脚本</param> 

         public static void ResponseScript(System.Web.UI.Page page,string script) 

         

              page.RegisterStartupScript(message,<script language='javascript' defer>+script+</script>); 

         } 

     }


二.页面数据验证类

做项目,特别做MIS,更避免不了有用户输入数据需要做有效性验证,这里我总结封装了一个页面数据校验的工具类,用起来也是很方便。 

     /**//// <summary> 

     /// 页面数据校验类 

     /// 李天平 

     /// 2004.8 

     /// </summary> 

     public class PageValidate 

     

         private static Regex RegNumber = new Regex(^[0-9]+$); 

         private static Regex RegNumberSign = new Regex(^[+-]?[0-9]+$); 

         private static Regex RegDecimal = new Regex(^[0-9]+[.]?[0-9]+$); 

         private static Regex RegDecimalSign = new Regex(^[+-]?[0-9]+[.]?[0-9]+$); //等价于^[+-]?\d+[.]?\d+$ 

         private static Regex RegEmail = new Regex(^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$);//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样 

         private static Regex RegCHZN = new Regex([\u4e00-\u9fa5]); 


 
         public PageValidate() 

         

         } 

         数字字符串检查#region 数字字符串检查               

         /**//// <summary> 

         /// 检查Request查询字符串的键值,是否是数字,最大长度限制 

         /// </summary> 

         /// <param name=req>Request</param> 

         /// <param name=inputKey>Request的键值</param> 

         /// <param name=maxLen>最大长度</param> 

         /// <returns>返回Request查询字符串</returns> 

         public static string FetchInputDigit(HttpRequest req, string inputKey, int maxLen) 

         

              string retVal = string.Empty; 

              if(inputKey != null && inputKey != string.Empty) 

              

                   retVal = req.QueryString[inputKey]; 

                   if(null == retVal) 

                       retVal = req.Form[inputKey]; 

                   if(null != retVal) 

                   

                       retVal = SqlText(retVal, maxLen); 

                       if(!IsNumber(retVal)) 

                            retVal = string.Empty; 

                   } 

              } 

              if(retVal == null) 

                   retVal = string.Empty; 

              return retVal; 

         }        

         /**//// <summary> 

         /// 是否数字字符串 

         /// </summary> 

         /// <param name=inputData>输入字符串</param> 

         /// <returns></returns> 

         public static bool IsNumber(string inputData) 

         

              Match m = RegNumber.Match(inputData); 

              return m.Success; 

         }        

         /**//// <summary> 

         /// 是否数字字符串可带正负号 

         /// </summary> 

         /// <param name=inputData>输入字符串</param> 

         /// <returns></returns> 

         public static bool IsNumberSign(string inputData) 

         

              Match m = RegNumberSign.Match(inputData); 

              return m.Success; 

         }        

         /**//// <summary> 

         /// 是否是浮点数 

         /// </summary> 

         /// <param name=inputData>输入字符串</param> 

         /// <returns></returns> 

         public static bool IsDecimal(string inputData) 

         

              Match m = RegDecimal.Match(inputData); 

              return m.Success; 

         }        

         /**//// <summary> 

         /// 是否是浮点数可带正负号 

         /// </summary> 

         /// <param name=inputData>输入字符串</param> 

         /// <returns></returns> 

         public static bool IsDecimalSign(string inputData) 

         

              Match m = RegDecimalSign.Match(inputData); 

              return m.Success; 

         } 

         #endregion 


 
         中文检测#region 中文检测 

         /**//// <summary> 

         /// 检测是否有中文字符 

         /// </summary> 

         /// <param name=inputData></param> 

         /// <returns></returns> 

         public static bool IsHasCHZN(string inputData) 

         

              Match m = RegCHZN.Match(inputData); 

              return m.Success; 

         } 

         #endregion 


 
         邮件地址#region 邮件地址 

         /**//// <summary> 

         /// 是否是浮点数可带正负号 

         /// </summary> 

         /// <param name=inputData>输入字符串</param> 

         /// <returns></returns> 

         public static bool IsEmail(string inputData) 

         

              Match m = RegEmail.Match(inputData); 

              return m.Success; 

         } 

         #endregion 


 
         其他#region 其他 

         /**//// <summary> 

         /// 检查字符串最大长度,返回指定长度的串 

         /// </summary> 

         /// <param name=sqlInput>输入字符串</param> 

         /// <param name=maxLength>最大长度</param> 

         /// <returns></returns>          

         public static string SqlText(string sqlInput, int maxLength) 

         {             

              if(sqlInput != null && sqlInput != string.Empty) 

              

                   sqlInput = sqlInput.Trim();                             

                   if(sqlInput.Length > maxLength)//按最大长度截取字符串 

                       sqlInput = sqlInput.Substring(0, maxLength); 

              } 

              return sqlInput; 

         }        

         /**//// <summary> 

         /// 字符串编码 

         /// </summary> 

         /// <param name=inputData></param> 

         /// <returns></returns> 

         public static string HtmlEncode(string inputData) 

         

              return HttpUtility.HtmlEncode(inputData); 

         } 

         /**//// <summary> 

         /// 设置Label显示Encode的字符串 

         /// </summary> 

         /// <param name=lbl></param> 

         /// <param name=txtInput></param> 

         public static void SetLabel(Label lbl, string txtInput) 

         

              lbl.Text = HtmlEncode(txtInput); 

         } 

         public static void SetLabel(Label lbl, object inputObj) 

         

              SetLabel(lbl, inputObj.ToString()); 

         }        


 
         #endregion 


在Textbox的輸入中﹐我們常常需要控制輸入的類型﹐比如說只能輸入數字﹐當然實現的方法很多﹐我總結了一下我做過的一些項目﹐我常會使用以下這三種﹕
1﹑使用TryCatch
        private static bool IsNumeric(string itemValue,int intFLag)
        {
            try
            {
                int i = Convert.ToInt32(itemValue);
                return true;
            }
            catch
            {
                return false;
            }
        }2﹑使用正則表達式
using System.Text.RegularExpressions;
        
         private static bool IsNumeric(string itemValue) 
        {
            return (IsRegEx("^(-?[0-9]*[.]*[0-9]{0,3})$", itemValue));
        } 

        private static bool IsRegEx(string regExValue, string itemValue) 
        {
            try 
            {
                Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
                if (regex.IsMatch(itemValue)) return true;
                else                          return false;
            }
            catch (Exception ) 
            {
                return false;
            }
            finally 
            {
            }
        }

3﹑判斷輸入的keyCode
        public static bool IsNumeric(System.Windows.Forms.KeyPressEventArgs e)
        {
            if ((e.KeyChar  >= (char)48 && e.KeyChar<=(char)57) || 
                 e.KeyChar ==(char)8 || e.KeyChar ==(char)45 || e.KeyChar ==(char)47)
            {
            }
            else
            {
    e.Handled=true;  
            }
            return true;
        }

C#函数实现的小功能相关推荐

  1. 借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能

    微信小程序借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能 这篇文章已经进行了更新,请点此进行查看 仿微信好友聊天 主要功能有 后续可能补充功能 详细介绍 注意 保存 ...

  2. Unity3D小功能 小技巧 小教程 小原理(持续更新...)

    Unity3D小功能 小技巧 小教程 小原理(持续更新...) 1.Unity的.NET版本是2.0 按道理来说,C#能用的功能Unity也能用,但是Unity的.NET却不是最新版 要是用一些别的D ...

  3. 函数要多小才够好——谈小函数之道

    源地址:http://kb.cnblogs.com/page/154245/ "设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间." 也许你认为讨论函 ...

  4. 函数计算: 让小程序开发进入 Serverless 时代

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 吴天龙(木吴 ...

  5. 给 OpenPOP.Net 加一个小功能,可用于收取邮件时监测数据流量!

    /* 最近写了一个自动收邮件的机器人,原来一开始偷懒"娶"了 COM 组件 JMail: <封装 JMail 4.4 的 POP3 为 .Net 组件 (.dll 程序集), ...

  6. 转:函数要多小才够好——谈小函数之道

    转载自: http://justjavac.com/other/2012/05/29/to-use-little-function.html "设计良好的函数往往比较小,而过大函数的设计往往 ...

  7. c++双向列表释放_Python列表生成式12个小功能,你常用哪几个?

    作者 | zglg 来源 | Python与算法社区 原文 | Python列表生成式12个小功能,你常用哪几个? python里[] 表示一个列表,对容器类型的数据进行运算和操作,生成新的列表最高效 ...

  8. html表格自动分列,函数在excel的功能 excel用函数实现的分列功能

    我是一位教师,想给学生录成绩.可excel中的函数功能使我无法录入100等在工具-选项-常规-函数提示处关闭即可. 函数(function),名称出自数学家李善兰的著作<代数学>.之所以如 ...

  9. WPS编辑器实现自定义小功能

    在学习工作中经常会使用到WPS或者其他的表格文档处理,尤其是在表格中经常会用到一些公式或者计算处理数据,比较简单的取最大或者最小那些都还好,但是如果涉及到的数据太多或者需要循环处理的时候就比较麻烦了. ...

最新文章

  1. Horizon6.2.0批量部署XP虚拟机
  2. C++:类-多态的学习和使用
  3. SinGAN: Learning a Generative Model from a Single Natural Image
  4. MySQL面试题1:MySQL架构体系相关
  5. Mysql-5.5+Heartbeat-3.0.5+DRBD
  6. html 音标显示乱码,网页显示音标/拼音显示乱码的解决办法(.net)
  7. C++程序设计实践题1
  8. [20171225]变态的windows批处理4.txt
  9. 使用python构建基于hadoop的mapreduce日志分析平台
  10. 英文信件结尾的表达方式
  11. 中国马克思主义与当代——讨论课
  12. javaMail发送电子邮件
  13. Latex字体加粗不了
  14. manjaro 折腾总结
  15. 计算机有硬盘读不出来怎么办,电脑开机后读不到硬盘怎么办
  16. 光学瞄准镜是怎么调节校准的,你学会了吗?
  17. Android原生UI开发框架 《Jetpack Compose入门到精通》最全上手指南
  18. xxl-job优雅停止执行器即客户端tomcat
  19. 深入理解教育技术(学)
  20. 高数_证明_极限的唯一性

热门文章

  1. OpenGL纹理上下颠倒翻转的三种解决办法(转)
  2. 有了 Docker,用 JavaScript 框架开发的 Web 站点也能很好地支持网络爬虫的内容抓取...
  3. Eclipse快捷键:最常用且高效的快捷键
  4. 如果知道一个控件类型的对话框句柄是编辑框控件
  5. 几种常用的图像处理函数库
  6. DeepLearning tutorial(1)Softmax回归原理简介+代码详解
  7. 【POI2015】KIN/Kinoman
  8. NFS 网络文件系统
  9. lintcode 滑动窗口的最大值(双端队列)
  10. 你还不会创建jQuery插件 ?