C字符串搜索技巧:使用IndexOf定位回车字符及数字判断方法
C#如何用IndexOf判断字符串中含有回车字符\r\n
C#如何判断字符串中是否包含某个字符
例子:在C#编程时,我们有时需要判断一个字符串是否是数字字符串。
这可以通过以下两种方法来实现。
方法一:使用try{}catch{}语句。
我们可以尝试在try语句块中将string类型的字符串变量转换为int类型。
如果字符串不是数字字符串,则catch语句块中将抛出异常。
当发现异常时,它不是数字字符串。
我们可以通过以下三种方式将string类型转换为int类型。
(1)int.Parse(string);
(2)Convert.ToInt16(string);比4.ToInt32()
(3)Convert.ToInt32(string);
添加一个文本框TextBox1和一个按钮Button1,当按钮被点击时,判断内容是否为文本框是数字字符串,因此输出转换后的值。
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringmessage=TextBox1.Text.Trim();
intresult;
if(isNumberic(message,outresult))
{
stringtt="[xss_clean]alert('合并成功,转换后的整数是“+结果+"')[xss_clean]";
Page.ClientScript.RegisterStartupScript(this.GetType(),"",tt);
}
else
Page.ClientScript.RegisterStartupScript(this.GetType(),"","[xss_clean]alert('匹配失败!')[xss_clean]");
}
protectedboolisNumberic(stringmessage,outintresult)
{
//判断是否为整型字符串
//如果是则转为数字并设置为out类型输出值,返回true,否则为false
result=-1;//result定义为out来输出值
try
{
//当数字串小于4时,可以转换以下三种类型,选择哪一种最好
//如果位数超过4位,请使用Convert.ToInt32()和int.Parse()
//result=int.Parse(message);
//result=Convert.ToInt16(message);
result=Convert.ToInt32(message);
returntrue;
}
抓住
{
returnfalse;
}
}
上面的方法可以改为double,例如double.Parse(),这样就可以判断是否是浮点字符串
【方法二】:通过正则表达式判断。
使用正则表达式来验证字符串是否为数字字符串。
我们需要使用Regex类的isMatch()方法。
该类位于System.Text.RegularExpressions中;
可以通过useSystem.Text.RegularExpressions来访问Regex类。
也可以通过System.Text.RegularExpressions.Regex直接访问。
protectedboolisNumberic(stringmessage,outintresult)
{
System.Text.RegularExpressions.Regexrex=
newSystem.Text.RegularExpressions.Regex("^\d+$");
结果=-1;
if(rex.IsMatch(message))
{
result=int.Parse(message);
returntrue;
}
elsee
returnfalse;
}
使用正则表达式判断是否存在匹配,不仅仅可以用于简单的求值匹配,而且还可以进行精确匹配。
比如判断是否是六位数字字符串、邮件匹配等。
正则表达式是实现此目的的好方法。
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringmessage=TextBox1.Text.Trim();
isNumeric(message);//判断字符串是否为5,即为整数字符串
}
protectedvoidisNumeric(stringmessage)
{
if(message!=""&&Regex.IsMatch(message,"^\d{5}$"))
{
//成功
页面。
客户Script.RegisterStartupScript(this.GetType(),"","[xss_clean]alert
('匹配通过!实际上是一个五位整数字符串')[xss_clean]");
}
else
//失败
页面e.ClientScript.RegisterStartupScript(this.GetType(),"","[xss_clean]alert
('匹配失败!')[xss_clean]");
}
扩展信息:包括用法:
#incluDe命令是独一无二的命令之一预处理命令。
预处理命令可以插入其他源代码内容,它可以识别特定的一段程序代码,仅在特定条件下才会被编译。
编译时,预处理器会将宏替换为其他文本。
插入头文件的内容
#include命令告诉预处理器在预处理器命令对应的位置插入指定头文件的内容。
有两种方法可以指定要包含的头文件:
1#include
2
C#如何找出字符串中某一字符的所有位置
当查找字符串中某个字符的所有位置时,可以先通过ToCharArray方法将字符串转换为char类型的数组,如果数组中的值与要查找的字符匹配,则循环遍历该数组。与相同,删除其位置。
查找字符串中某个字符的所有位置的实现代码如下:Privatevoidbutton1_Click(objectsender,EventArgse)<{stringstr=textBox1.Text.Trim();char[]myChar=str.ToCharArray();;i