.NET字符串操作类StringHelper (C#版)
using?System;???
using?System.Collections.Generic;???
using?System.Linq;???
using?System.Text;???
using?System.Text.RegularExpressions;???
??
namespace?Common???
{???
????///?<summary>???
????///?字符串操作類???
????///?</summary>???
????public?class?StringHelper???
????{???
????????public?StringHelper()???
????????{???
??
????????}???
??
????????///?<summary>???
????????///?出錯時彈出提示對話框???
????????///?</summary>???
????????///?<param?name="str_Control_Name">檢驗控件id值</param>???
????????///?<param?name="str_Form_Name">表單id值</param>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<returns>string</returns>???
????????public?static?string?JsIsNull(string?str_Control_Name,?string?str_Form_Name,?string?str_Prompt)???
????????{???
????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');document."?+?str_Form_Name?+?"."?+?str_Control_Name?+?".focus();?document."?+?str_Form_Name?+?"."?+?str_Control_Name?+?".select();</"?+?"script>";???
????????}???
??
??
????????///?<summary>???
????????///?出錯時彈出提示對話框???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<returns>string</returns>???
????????public?static?string?JsIsNull(string?str_Prompt)???
????????{???
????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');</"?+?"script>";???
????????}???
??
??
????????///?<summary>???
????????///?關閉對話框???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<returns>string</returns>???
????????public?static?string??CloseParent(string?str_Prompt)???
????????{???
????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');window.parent.close();</"?+?"script>";???
????????}???
??
????????///?<summary>???
????????///?出錯時彈出提示對話框--關閉窗口???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<param?name="isReLoad">true為上個窗口自動刷新</param>???
????????///?<returns>string</returns>???
????????public?static?string?JsIsNull(string?str_Prompt,?bool?isReLoad)???
????????{???
????????????if?(isReLoad)???
????????????{???
????????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');opener.window.document.location.reload();window.close();</"?+?"script>";???
????????????}???
????????????else??
????????????{???
????????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');window.close();</"?+?"script>";???
????????????}???
????????}???
??
????????///?<summary>???
????????///是否關閉窗口???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<param?name="isClose">true為關閉</param>???
????????///?<returns>string</returns>???
????????public?static?string??JsIsClose(string?str_Prompt,??bool?isClose)???
????????{???
????????????if?(!isClose)???
????????????{???
????????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');</"?+?"script>";???
????????????}???
????????????else??
????????????{???
????????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');window.close();opener.window.document.location.reload();</"?+?"script>";???
????????????}???
????????}???
??
????????///?<summary>???
????????///?彈出信息并重裝窗口???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<param?name="reLoadPath">重裝路徑</param>???
????????///?<returns>string</returns>???
????????public?static?string??JsIsReLoad(string?str_Prompt,?string?reLoadPath)???
????????{???
????????????return??"<script?language=\"javascript\">alert('"?+?str_Prompt?+?"');this.window.document.location.reload('"?+?reLoadPath?+?"');</"?+?"script>";???
????????}???
??
????????///?<summary>???
????????///?重裝窗口???
????????///?</summary>???
????????///?<param?name="reLoadPath">提示信息</param>???
????????///?<returns>string</returns>???
????????public?static?string??JsIsReLoad(string?reLoadPath)???
????????{???
????????????return??"<script?language=\"javascript\">this.window.document.location.reload('"?+?reLoadPath?+?"');</"?+?"script>";???
????????}???
??
????????///?<summary>???
????????///?獲得一個16位時間隨機數???
????????///?</summary>???
????????///?<returns>返回隨機數</returns>???
????????public?static?string?GetDataRandom()???
????????{???
????????????string?strData?=?DateTime.Now.ToString();???
????????????strData?=?strData.Replace(":",?"");???
????????????strData?=?strData.Replace("-",?"");???
????????????strData?=?strData.Replace("?",?"");???
????????????Random?r?=?new?Random();???
????????????strData?=?strData?+?r.Next(100000);???
????????????return?strData;???
????????}???
??
????????///?<summary>???
????????///??獲得某個字符串在另個字符串中出現的次數???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號</param>???
????????///?<returns>返回值</returns>???
????????public?static?int?GetStrCount(string?strOriginal,?string?strSymbol)???
????????{???
????????????int?count?=?0;???
????????????for?(int?i?=?0;?i?<?(strOriginal.Length?-?strSymbol.Length?+?1);?i++)???
????????????{???
????????????????if?(strOriginal.Substring(i,?strSymbol.Length)?==?strSymbol)???
????????????????{???
????????????????????count?=?count?+?1;???
????????????????}???
????????????}???
????????????return?count;???
????????}???
??
????????///?<summary>???
????????///?獲得某個字符串在另個字符串第一次出現時前面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetFirstStr(string?strOriginal,?string?strSymbol)???
????????{???
????????????int?strPlace?=?strOriginal.IndexOf(strSymbol);???
????????????if?(strPlace?!=?-1)???
????????????????strOriginal?=?strOriginal.Substring(0,?strPlace);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///?獲得某個字符串在另個字符串最后一次出現時后面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetLastStr(string?strOriginal,?string?strSymbol)???
????????{???
????????????int?strPlace?=?strOriginal.LastIndexOf(strSymbol)?+?strSymbol.Length;???
????????????strOriginal?=?strOriginal.Substring(strPlace);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///?獲得兩個字符之間第一次出現時前面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strFirst">最前哪個字符</param>???
????????///?<param?name="strLast">最后哪個字符</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetTwoMiddleFirstStr(string?strOriginal,?string?strFirst,?string?strLast)???
????????{???
????????????strOriginal?=?GetFirstStr(strOriginal,?strLast);???
????????????strOriginal?=?GetLastStr(strOriginal,?strFirst);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///??獲得兩個字符之間最后一次出現時的所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strFirst">最前哪個字符</param>???
????????///?<param?name="strLast">最后哪個字符</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetTwoMiddleLastStr(string?strOriginal,?string?strFirst,?string?strLast)???
????????{???
????????????strOriginal?=?GetLastStr(strOriginal,?strFirst);???
????????????strOriginal?=?GetFirstStr(strOriginal,?strLast);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///?從數據庫表讀記錄時,能正常顯示???
????????///?</summary>???
????????///?<param?name="strContent">要處理的字符</param>???
????????///?<returns>返回正常值</returns>???
????????public?static?string?GetHtmlFormat(string?strContent)???
????????{???
????????????strContent?=?strContent.Trim();???
??
????????????if?(strContent?==?null)???
????????????{???
????????????????return?"";???
????????????}???
????????????strContent?=?strContent.Replace("<",?"<");???
????????????strContent?=?strContent.Replace(">",?">");???
????????????strContent?=?strContent.Replace("\n",?"<br?/>");???
????????????return?(strContent);???
????????}???
??
????????///?<summary>???
????????///?檢查相等之后,獲得字符串???
????????///?</summary>???
????????///?<param?name="str">字符串1</param>???
????????///?<param?name="checkStr">字符串2</param>???
????????///?<param?name="reStr">相等之后要返回的字符串</param>???
????????///?<returns>返回字符串</returns>???
????????public?static?string?GetCheckStr(string?str,?string?checkStr,?string?reStr)???
????????{???
????????????if?(str?==?checkStr)???
????????????{???
????????????????return?reStr;???
????????????}???
????????????return?"";???
????????}???
??
????????///?<summary>???
????????///?檢查相等之后,獲得字符串???
????????///?</summary>???
????????///?<param?name="str">數值1</param>???
????????///?<param?name="checkStr">數值2</param>???
????????///?<param?name="reStr">相等之后要返回的字符串</param>???
????????///?<returns>返回字符串</returns>???
????????public?static?string?GetCheckStr(int?str,?int?checkStr,?string?reStr)???
????????{???
????????????if?(str?==?checkStr)???
????????????{???
????????????????return?reStr;???
????????????}???
????????????return?"";???
????????}???
????????///?<summary>???
????????///?檢查相等之后,獲得字符串???
????????///?</summary>???
????????///?<param?name="str"></param>???
????????///?<param?name="checkStr"></param>???
????????///?<param?name="reStr"></param>???
????????///?<returns></returns>???
????????public?static?string?GetCheckStr(bool?str,?bool?checkStr,?string?reStr)???
????????{???
????????????if?(str?==?checkStr)???
????????????{???
????????????????return?reStr;???
????????????}???
????????????return?"";???
????????}???
????????///?<summary>???
????????///?檢查相等之后,獲得字符串???
????????///?</summary>???
????????///?<param?name="str"></param>???
????????///?<param?name="checkStr"></param>???
????????///?<param?name="reStr"></param>???
????????///?<returns></returns>???
????????public?static?string?GetCheckStr(object?str,?object?checkStr,?string?reStr)???
????????{???
????????????if?(str?==?checkStr)???
????????????{???
????????????????return?reStr;???
????????????}???
????????????return?"";???
????????}???
????????///?<summary>???
????????///?截取左邊規定字數字符串,超過字數用endStr結束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字數</param>???
????????///?<param?name="endStr">超過字數,結束字符串,如"..."</param>???
????????///?<returns>返回截取字符串</returns>???
????????public?static?string?GetLeftStr(string?str,?int?length,?string?endStr)???
????????{???
????????????string?reStr;???
????????????if?(length?<?GetStrLength(str))???
????????????{???
????????????????reStr?=?str.Substring(0,?length)?+?endStr;???
????????????}???
????????????else??
????????????{???
????????????????reStr?=?str;???
????????????}???
????????????return?reStr;???
????????}???
??
????????///?<summary>???
????????///?截取左邊規定字數字符串,超過字數用...結束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字數</param>???
????????///?<returns>返回截取字符串</returns>???
????????public?static?string?GetLeftStr(string?str,?int?length)???
????????{???
????????????string?reStr;???
????????????if?(length?<?str.Length)???
????????????{???
????????????????reStr?=?str.Substring(0,?length)?+?"...";???
????????????}???
????????????else??
????????????{???
????????????????reStr?=?str;???
????????????}???
????????????return?reStr;???
????????}???
??
????????///?<summary>???
????????///?截取左邊規定字數字符串,超過字數用...結束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字數</param>???
????????///?<param?name="subcount">若超過字數右邊減少的字符長度</param>???
????????///?<returns>返回截取字符串</returns>???
????????public?static?string?GetLeftStr(string?str,?int?length,int?subcount)???
????????{???
????????????string?reStr;???
????????????if?(length?<?str.Length)???
????????????{???
????????????????reStr?=?str.Substring(0,?length-subcount)?+?"...";???
????????????}???
????????????else??
????????????{???
????????????????reStr?=?str;???
????????????}???
????????????return?reStr;???
????????}???
??
????????///?<summary>???
????????///?獲得雙字節字符串的字節數???
????????///?</summary>???
????????///?<param?name="str">要檢測的字符串</param>???
????????///?<returns>返回字節數</returns>???
????????public?static?int?GetStrLength(string?str)???
????????{???
????????????ASCIIEncoding?n?=?new?ASCIIEncoding();???
????????????byte[]?b?=?n.GetBytes(str);???
????????????int?l?=?0;??//?l?為字符串之實際長度???
????????????for?(int?i?=?0;?i?<?b.Length;?i++)???
????????????{???
????????????????if?(b[i]?==?63)??//判斷是否為漢字或全腳符號???
????????????????{???
????????????????????l++;???
????????????????}???
????????????????l++;???
????????????}???
????????????return?l;???
????????}???
??
????????///?<summary>???
????????///?剝去HTML標簽???
????????///?</summary>???
????????///?<param?name="text">帶有HTML格式的字符串</param>???
????????///?<returns>string</returns>???
????????public?static?string?RegStripHtml(string?text)???
????????{???
????????????string?reStr;???
????????????string?RePattern?=?@"<\s*(\S+)(\s[^>]*)?>";???
????????????reStr?=?Regex.Replace(text,?RePattern,?string.Empty,?RegexOptions.Compiled);???
????????????reStr?=?Regex.Replace(reStr,?@"\s+",?string.Empty,?RegexOptions.Compiled);???
????????????return?reStr;???
????????}???
??
????????///?<summary>???
????????///?使Html失效,以文本顯示???
????????///?</summary>???
????????///?<param?name="str">原字符串</param>???
????????///?<returns>失效后字符串</returns>???
????????public?static?string?ReplaceHtml(string?str)???
????????{???
????????????str?=?str.Replace("<",?"<");???
????????????return?str;???
????????}???
??
??
????????///?<summary>???
????????///?獲得隨機數字???
????????///?</summary>???
????????///?<param?name="Length">隨機數字的長度</param>???
????????///?<returns>返回長度為?Length?的 <see?cref="System.Int32"/>?類型的隨機數</returns>???
????????///?<example>???
????????///?Length?不能大于9,以下為示例演示了如何調用?GetRandomNext:<br?/>???
????????///?<code>???
????????///??int?le?=?GetRandomNext(8);???
????????///?</code>???
????????///?</example>???
????????public?static?int?GetRandomNext(int?Length)???
????????{???
????????????if?(Length?>?9)???
????????????????throw?new?System.IndexOutOfRangeException("Length的長度不能大于10");???
????????????Guid?gu?=?Guid.NewGuid();???
????????????string?str?=?"";???
????????????for?(int?i?=?0;?i?<?gu.ToString().Length;?i++)???
????????????{???
????????????????if?(isNumber(gu.ToString()[i]))???
????????????????{???
????????????????????str?+=?((gu.ToString()[i]));???
????????????????}???
????????????}???
????????????int?guid?=?int.Parse(str.Replace("-",?"").Substring(0,?Length));???
????????????if?(!guid.ToString().Length.Equals(Length))???
????????????????guid?=?GetRandomNext(Length);???
????????????return?guid;???
????????}???
??
????????///?<summary>???
????????///?返回一個?bool?值,指明提供的值是不是整數???
????????///?</summary>???
????????///?<param?name="obj">要判斷的值</param>???
????????///?<returns>true[是整數]false[不是整數]</returns>???
????????///?<remarks>???
????????///??isNumber 只能判斷正(負)整數,如果?obj?為小數則返回?false;???
????????///?</remarks>???
????????///?<example>???
????????///?下面的示例演示了判斷?obj?是不是整數:<br?/>???
????????///?<code>???
????????///??bool?flag;???
????????///??flag?=?isNumber("200");???
????????///?</code>???
????????///?</example>???
????????public?static?bool?isNumber(object?obj)???
????????{???
????????????//為指定的正則表達式初始化并編譯?Regex?類的實例???
????????????System.Text.RegularExpressions.Regex?rg?=?new?System.Text.RegularExpressions.Regex(@"^-?(\d*)$");???
????????????//在指定的輸入字符串中搜索?Regex?構造函數中指定的正則表達式匹配項???
????????????System.Text.RegularExpressions.Match?mc?=?rg.Match(obj.ToString());???
????????????//指示匹配是否成功???
????????????return?(mc.Success);???
????????}???
??
????????///?<summary>???
????????///?高亮顯示???
????????///?</summary>???
????????///?<param?name="str">原字符串</param>???
????????///?<param?name="findstr">查找字符串</param>???
????????///?<param?name="cssclass">Style</param>???
????????///?<returns>string</returns>???
????????public?static?string?OutHighlightText(string?str,?string?findstr,?string?cssclass)???
????????{???
????????????if?(findstr?!=?"")???
????????????{???
????????????????string?text1?=?"<span?class=\""?+?cssclass?+?"\">%s</span>";???
????????????????str?=?str.Replace(findstr,?text1.Replace("%s",?findstr));???
????????????}???
????????????return?str;???
????????}???
??
????????///?<summary>???
????????///?移除字符串首尾某些字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要操作的字符串</param>???
????????///?<param?name="startStr">要在字符串首部移除的字符串</param>???
????????///?<param?name="endStr">要在字符串尾部移除的字符串</param>???
????????///?<returns>string</returns>???
????????public?static?string?RemoveStartOrEndStr(string?strOriginal,?string?startStr,string?endStr)???
????????{???
????????????char[]?start=startStr.ToCharArray();???
????????????char[]?end=endStr.ToCharArray();???
????????????return?strOriginal.TrimStart(start).TrimEnd(end);???
????????}???
??
????????///?<summary>???
????????///?刪除指定位置指定長度字符串???
????????///?</summary>???
????????///?<param?name="strOriginal">要操作的字符串</param>???
????????///?<param?name="startIndex">開始刪除字符的位置</param>???
????????///?<param?name="count">要刪除的字符數</param>???
????????///?<returns>string</returns>???
????????public?static?string?RemoveStr(string?strOriginal,int?startIndex,?int?count)???
????????{???
????????????return?strOriginal.Remove(startIndex,?count);???
????????}???
??
????????///?<summary>???
????????///?從左邊填充字符串???
????????///?</summary>???
????????///?<param?name="strOriginal">要操作的字符串</param>???
????????///?<param?name="totalWidth">結果字符串中的字符數</param>???
????????///?<param?name="paddingChar">填充的字符</param>???
????????///?<returns>string</returns>???
????????public?static?string?LeftPadStr(string?strOriginal,?int?totalWidth,?char?paddingChar)???
????????{???
????????????if(strOriginal.Length<totalWidth)???
????????????????return?strOriginal.PadLeft(totalWidth,?paddingChar);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///?從右邊填充字符串???
????????///?</summary>???
????????///?<param?name="strOriginal">要操作的字符串</param>???
????????///?<param?name="totalWidth">結果字符串中的字符數</param>???
????????///?<param?name="paddingChar">填充的字符</param>???
????????///?<returns>string</returns>???
????????public?static?string?RightPadStr(string?strOriginal,?int?totalWidth,?char?paddingChar)???
????????{???
????????????if?(strOriginal.Length?<?totalWidth)???
????????????????return?strOriginal.PadRight(totalWidth,?paddingChar);???
????????????return?strOriginal;???
????????}???
????}???
}??
轉載于:https://www.cnblogs.com/Miton/archive/2011/06/01/2066050.html
總結
以上是生活随笔為你收集整理的.NET字符串操作类StringHelper (C#版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#根据年份和月份获得本月最后一天
- 下一篇: OGRE手册--脚本texture_un