.NET字符串操作类StringHelper (C#版)
using?System;???
using?System.Collections.Generic;???
using?System.Linq;???
using?System.Text;???
using?System.Text.RegularExpressions;???
??
namespace?Common???
{???
????///?<summary>???
????///?字符串操作類(lèi)???
????///?</summary>???
????public?class?StringHelper???
????{???
????????public?StringHelper()???
????????{???
??
????????}???
??
????????///?<summary>???
????????///?出錯(cuò)時(shí)彈出提示對(duì)話框???
????????///?</summary>???
????????///?<param?name="str_Control_Name">檢驗(yàn)控件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>???
????????///?出錯(cuò)時(shí)彈出提示對(duì)話框???
????????///?</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>???
????????///?關(guān)閉對(duì)話框???
????????///?</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>???
????????///?出錯(cuò)時(shí)彈出提示對(duì)話框--關(guān)閉窗口???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<param?name="isReLoad">true為上個(gè)窗口自動(dòng)刷新</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>???
????????///是否關(guān)閉窗口???
????????///?</summary>???
????????///?<param?name="str_Prompt">提示信息</param>???
????????///?<param?name="isClose">true為關(guān)閉</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>???
????????///?獲得一個(gè)16位時(shí)間隨機(jī)數(shù)???
????????///?</summary>???
????????///?<returns>返回隨機(jī)數(shù)</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>???
????????///??獲得某個(gè)字符串在另個(gè)字符串中出現(xiàn)的次數(shù)???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號(hào)</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>???
????????///?獲得某個(gè)字符串在另個(gè)字符串第一次出現(xiàn)時(shí)前面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號(hào)</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>???
????????///?獲得某個(gè)字符串在另個(gè)字符串最后一次出現(xiàn)時(shí)后面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strSymbol">符號(hào)</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>???
????????///?獲得兩個(gè)字符之間第一次出現(xiàn)時(shí)前面所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strFirst">最前哪個(gè)字符</param>???
????????///?<param?name="strLast">最后哪個(gè)字符</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetTwoMiddleFirstStr(string?strOriginal,?string?strFirst,?string?strLast)???
????????{???
????????????strOriginal?=?GetFirstStr(strOriginal,?strLast);???
????????????strOriginal?=?GetLastStr(strOriginal,?strFirst);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///??獲得兩個(gè)字符之間最后一次出現(xiàn)時(shí)的所有字符???
????????///?</summary>???
????????///?<param?name="strOriginal">要處理的字符</param>???
????????///?<param?name="strFirst">最前哪個(gè)字符</param>???
????????///?<param?name="strLast">最后哪個(gè)字符</param>???
????????///?<returns>返回值</returns>???
????????public?static?string?GetTwoMiddleLastStr(string?strOriginal,?string?strFirst,?string?strLast)???
????????{???
????????????strOriginal?=?GetLastStr(strOriginal,?strFirst);???
????????????strOriginal?=?GetFirstStr(strOriginal,?strLast);???
????????????return?strOriginal;???
????????}???
??
????????///?<summary>???
????????///?從數(shù)據(jù)庫(kù)表讀記錄時(shí),能正常顯示???
????????///?</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">數(shù)值1</param>???
????????///?<param?name="checkStr">數(shù)值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>???
????????///?截取左邊規(guī)定字?jǐn)?shù)字符串,超過(guò)字?jǐn)?shù)用endStr結(jié)束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字?jǐn)?shù)</param>???
????????///?<param?name="endStr">超過(guò)字?jǐn)?shù),結(jié)束字符串,如"..."</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>???
????????///?截取左邊規(guī)定字?jǐn)?shù)字符串,超過(guò)字?jǐn)?shù)用...結(jié)束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字?jǐn)?shù)</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>???
????????///?截取左邊規(guī)定字?jǐn)?shù)字符串,超過(guò)字?jǐn)?shù)用...結(jié)束???
????????///?</summary>???
????????///?<param?name="str">需截取字符串</param>???
????????///?<param?name="length">截取字?jǐn)?shù)</param>???
????????///?<param?name="subcount">若超過(guò)字?jǐn)?shù)右邊減少的字符長(zhǎng)度</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>???
????????///?獲得雙字節(jié)字符串的字節(jié)數(shù)???
????????///?</summary>???
????????///?<param?name="str">要檢測(cè)的字符串</param>???
????????///?<returns>返回字節(jié)數(shù)</returns>???
????????public?static?int?GetStrLength(string?str)???
????????{???
????????????ASCIIEncoding?n?=?new?ASCIIEncoding();???
????????????byte[]?b?=?n.GetBytes(str);???
????????????int?l?=?0;??//?l?為字符串之實(shí)際長(zhǎng)度???
????????????for?(int?i?=?0;?i?<?b.Length;?i++)???
????????????{???
????????????????if?(b[i]?==?63)??//判斷是否為漢字或全腳符號(hào)???
????????????????{???
????????????????????l++;???
????????????????}???
????????????????l++;???
????????????}???
????????????return?l;???
????????}???
??
????????///?<summary>???
????????///?剝?nèi)TML標(biāo)簽???
????????///?</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>???
????????///?獲得隨機(jī)數(shù)字???
????????///?</summary>???
????????///?<param?name="Length">隨機(jī)數(shù)字的長(zhǎng)度</param>???
????????///?<returns>返回長(zhǎng)度為?Length?的 <see?cref="System.Int32"/>?類(lèi)型的隨機(jī)數(shù)</returns>???
????????///?<example>???
????????///?Length?不能大于9,以下為示例演示了如何調(diào)用?GetRandomNext:<br?/>???
????????///?<code>???
????????///??int?le?=?GetRandomNext(8);???
????????///?</code>???
????????///?</example>???
????????public?static?int?GetRandomNext(int?Length)???
????????{???
????????????if?(Length?>?9)???
????????????????throw?new?System.IndexOutOfRangeException("Length的長(zhǎng)度不能大于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>???
????????///?返回一個(gè)?bool?值,指明提供的值是不是整數(shù)???
????????///?</summary>???
????????///?<param?name="obj">要判斷的值</param>???
????????///?<returns>true[是整數(shù)]false[不是整數(shù)]</returns>???
????????///?<remarks>???
????????///??isNumber 只能判斷正(負(fù))整數(shù),如果?obj?為小數(shù)則返回?false;???
????????///?</remarks>???
????????///?<example>???
????????///?下面的示例演示了判斷?obj?是不是整數(shù):<br?/>???
????????///?<code>???
????????///??bool?flag;???
????????///??flag?=?isNumber("200");???
????????///?</code>???
????????///?</example>???
????????public?static?bool?isNumber(object?obj)???
????????{???
????????????//為指定的正則表達(dá)式初始化并編譯?Regex?類(lèi)的實(shí)例???
????????????System.Text.RegularExpressions.Regex?rg?=?new?System.Text.RegularExpressions.Regex(@"^-?(\d*)$");???
????????????//在指定的輸入字符串中搜索?Regex?構(gòu)造函數(shù)中指定的正則表達(dá)式匹配項(xiàng)???
????????????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>???
????????///?刪除指定位置指定長(zhǎng)度字符串???
????????///?</summary>???
????????///?<param?name="strOriginal">要操作的字符串</param>???
????????///?<param?name="startIndex">開(kāi)始刪除字符的位置</param>???
????????///?<param?name="count">要?jiǎng)h除的字符數(shù)</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">結(jié)果字符串中的字符數(shù)</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">結(jié)果字符串中的字符數(shù)</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;???
????????}???
????}???
}??
轉(zhuǎn)載于:https://www.cnblogs.com/Miton/archive/2011/06/01/2066050.html
總結(jié)
以上是生活随笔為你收集整理的.NET字符串操作类StringHelper (C#版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c#根据年份和月份获得本月最后一天
- 下一篇: C#获取MAC地址