分享
 
 
 

实用的C#字符串操作类StringHelper

王朝网站推广·作者佚名  2011-12-04
窄屏简体版  字體: |||超大  

/// <summary>

/// StringHelper 的摘要说明。

/// </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>

/// <param name="lbl_Error">Label控件id值</param>

public static void JsIsNull(string str_Control_Name,string str_Form_Name,string str_Prompt,Label lbl_Error)

{

lbl_Error.Text="<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>

/// <param name="lbl_Error">Label控件id值</param>

public static void JsIsNull(string str_Prompt,Label lbl_Error)

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');</"+"script>";

}

/// <summary>

/// 关闭对话框

/// </summary>

/// <param name="str_Prompt"></param>

/// <param name="lbl_Error"></param>

public static void CloseParent(string str_Prompt,Label lbl_Error)

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');window.parent.close();</"+"script>";

}

/// <summary>

/// 出错时弹出提示对话框--关闭窗口

/// </summary>

/// <param name="str_Prompt">提示信息</param>

/// <param name="lbl_Error">Label控件id值</param>

/// <param name="isReLoad">true为上个窗口自动刷新</param>

public static void JsIsNull(string str_Prompt,Label lbl_Error,bool isReLoad)

{

if (isReLoad)

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');opener.window.document.location.reload();window.close();</"+"script>";

}

else

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');window.close();</"+"script>";

}

}

/// <summary>

///是否关闭窗口

/// </summary>

/// <param name="str_Prompt"></param>

/// <param name="lbl_Error"></param>

/// <param name="isClose"></param>

public static void JsIsClose(string str_Prompt,Label lbl_Error,bool isClose)

{

if(!isClose)

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');</"+"script>";

}

else

{

lbl_Error.Text="<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>

/// <param name="lbl_Error">Label控件id值</param>

public static void JsIsReLoad(string str_Prompt,string reLoadPath,Label lbl_Error)

{

lbl_Error.Text="<script language=\"javascript\">alert('"+str_Prompt+"');this.window.document.location.reload('"+reLoadPath+"');</"+"script>";

}

/// <summary>

/// 重装窗口

/// </summary>

/// <param name="reLoadPath"></param>

/// <param name="lbl_Error"></param>

public static void JsIsReLoad(string reLoadPath,Label lbl_Error)

{

lbl_Error.Text="<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("<","&lt;");

strContent=strContent.Replace(">","&gt;");

strContent=strContent.Replace("\n","<br />");

//strContent=strContent.Replace("\r","<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>

/// 截取左边规定字数字符串

/// </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>

/// <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"></param>

/// <returns></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="text"></param>

/// <param name="ReLabel"></param>

/// <returns></returns>

public static string RegStripHtml(string text,string[] ReLabel)

{

string reStr=text;

string LabelPattern=@"<({0})\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>";

string RePattern=@"<\s*(\S+)(\s[^>]*)?>";

for(int i=0;i<ReLabel.Length;i++)

{

reStr=Regex.Replace(reStr,string.Format(LabelPattern,ReLabel[i]),string.Empty,RegexOptions.IgnoreCase);

}

reStr=Regex.Replace(reStr,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("<","&lt");

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></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>

/// 去除html标签

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static string OutHtmlText(string str)

{

string text1 = "<.*?>";

Regex regex1 = new Regex(text1);

str = regex1.Replace(str, "");

str=str.Replace("[$page]","");

str=str.Replace("&nbsp;","");

return ToHtmlText(str);

}

/// <summary>

/// 将html显示成文本

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static string ToHtmlText(string str)

{

if (str == "")

{

return "";

}

StringBuilder builder1 = new StringBuilder();

builder1.Append(str);

builder1.Replace("<", "&lt;");

builder1.Replace(">", "&gt;");

//builder1.Replace("\r", "<br>");

return builder1.ToString();

}

/// <summary>

/// 截取字符串

/// </summary>

/// <param name="strInput">输入字符串</param>

/// <param name="intLen"></param>

/// <returns></returns>

public static string CutString(string strInput, int intLen)

{

strInput = strInput.Trim();

byte[] buffer1 = Encoding.Default.GetBytes(strInput);

if (buffer1.Length > intLen)

{

string text1 = "";

for (int num1 = 0; num1 < strInput.Length; num1++)

{

byte[] buffer2 = Encoding.Default.GetBytes(text1);

if (buffer2.Length >= (intLen - 4))

{

break;

}

text1 = text1 + strInput.Substring(num1, 1);

}

return (text1 + "...");

}

return strInput;

}

/// <summary>

/// 根据条件返回值

/// </summary>

/// <param name="ifValue"></param>

/// <param name="trueValue"></param>

/// <param name="falseVale"></param>

/// <returns></returns>

public static string IfValue(bool ifValue, string trueValue, string falseVale)

{

if (ifValue)

{

return trueValue;

}

return falseVale;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有