ignorecase(ignorecase是什么意思)
C#用正则分割文本
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 s=abcdeabcdeabcde;
string[] sArray=s.Split(c) ;
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de
string[] arr = str.Split("o");
这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应是字符串。正确的示例:
代码如下 复制代码
string str = "technology";
char[] separator = { 'o' };
string[] arr = str.Split(separator);
用正则表达式
首先在程序中需要引用正则表达式相关的程序集:using System.Text.RegularExpressions;
然后使用方法如下:
代码如下 复制代码
string content=agcsmallmacsmallgggs
如何在ASP中使用类
VBScript5中增加了许多新功能,最振奋人心的当属类和正则表达式的出现。以下是本人写的一个解析html代码的类。我是学php的,语法有不习惯的地方,请大家多包含。
%
Class HTMLParse
' 设置 Initialize 事件。
Private Sub Class_Initialize
myGlobal = True
myIgnoreCase = True
End Sub
Property Let Global(g)
Dim regEx ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = "True|False|1|0" ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
If regEx.Test(CStr(g)) Then
myGlobal = g
Else
Call Halt("无效Global参数配置")
End If
End Property
Property Get Global()
Global = myGlobal
End Property
Property Let IgnoreCase(c)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "True|False|1|0"
regEx.IgnoreCase = True
If regEx.Test(CStr(c)) Then
myIgnoreCase = c
Else
Call Halt("无效IgnoreCase参数配置")
End If
End Property
Property Get IgnoreCase()
IgnoreCase = myIgnoreCase
End Property
'解析所有HTML标记的函数
Public Function Parse(input)
Parse = "table border=1 width=50% align=center" vbCrLf
Dim regEx , regVal , match , i
Set regEx = New RegExp
regEx.Pattern = "([a-z]w*)(:.*)(.*)/1"
regEx.Global = myGlobal
regEx.IgnoreCase = myIgnoreCase
Set regVal = regEx.Execute(Trim(input))
If regVal.Count 0 Then '如果发现匹配元素
Parse = Parse "caption发现" regVal.Count "个HTML标记/caption" vbCrLf
Parse = Parse "tr align=centerth编号/thth匹配标记th匹配显示/th/tr" vbCrLf
For i=0 To regVal.Count-1
Set match = regVal(i)
Parse = Parse "tr align=center" vbCrLf
Parse = Parse "td" i+1 "/tdtd" match.SubMatches(0) "/tdtd" match "/td" vbCrLf
Parse = Parse "/tr" vbCrLf
Next
Else Parse = Parse "caption没有发现HTML标记/caption" vbCrLf
End If
Parse = Parse "/table" vbCrLf
End Function
'解析指定HTML标记的函数
Public Function ParseTag(input,tag)
ParseTag = "table border=1 width=50% align=center" vbCrLf
Dim regEx , regVal , match , i
Set regEx = New RegExp
regEx.Pattern = "(" tag ")(:.*)(.*)/1"
regEx.Global = myGlobal
regEx.IgnoreCase = myIgnoreCase
Set regVal = regEx.Execute(Trim(input))
If regVal.Count 0 Then '如果发现匹配元素
ParseTag = ParseTag "caption发现" regVal.Count "个" UCase(tag) "标记/caption" vbCrLf
ParseTag = ParseTag "tr align=centerth编号/thth发现位置th包含内容/th/tr" vbCrLf
For i=0 To regVal.Count-1
Set match = regVal(i)
ParseTag = ParseTag "tr align=center" vbCrLf
ParseTag = ParseTag "td" i+1 "/tdtd" match.FirstIndex "/tdtd" match.SubMatches(1) "/td" vbCrLf
ParseTag = ParseTag "/tr" vbCrLf
Next
Else ParseTag = ParseTag "caption没有发现" UCase(tag) "标记/caption" vbCrLf
End If
ParseTag = ParseTag "/table" vbCrLf
End Function
'打印错误
Private Sub Halt(errstr)
Response.Write("font color=red size=3" errstr "/font" vbCrLf)
Call Class_Terminate
End Sub
Private Sub Class_Terminate ' 设置 Terminate 事件。
End Sub
'定义两个内部变量
Private myGlobal
Private myIgnoreCase
End Class
%
html
body
div align=centerh2范例1/h2/div
%
'范例1
Dim input , result
input = "i这是/i一个font color=greenVBScript/font的b正则i表达式/i范例/b。"
Set hp = New HTMLParse
hp.Global = 1
hp.IgnoreCase = False
result = hp.Parse(input)
Response.Write(result)
%
br
div align=centerh2范例2/h2/div
%
'范例2
'hp.Global = 1
'hp.IgnoreCase = False
result2 = hp.ParseTag(input,"i")
Response.Write(result2)
Set hp = Nothing
%
/body
/html
replace方法,怎么使用正则表达式
使用Regex.Replace()方法可以剔除字符串中的HTML代码,例如在text数据类型的数据库字段,中存放的字符串格式如下:DIVBFONT color=blueFONT size=2一、学术研究课题/FONT/FONT/B/DIV
如果这段字符串不经过处理显示出来就是加粗的字体,如下:“一、学术研究课题”
如果现在想更改这个字符串显示的格式,将字号设置成13px,颜色设置成黑色。那要怎么做?
在这个时候可以使用Regex.Replace()方法,并且配合使用正则表达式来实现。
在使用这个方法之前首先要在命名控件中添加以下引用:using System.Text.RegularExpressions;
这个是Regex的命名空间。
首先声明string str字符串变量,str的值如下:str=DIVBFONT color=blueFONT size=2一、学术研究课题/FONT/FONT/B/DIV
首先替换掉B(粗体)得到如下格式的字符串:DIVFONT color=blueFONT size=2一、学术研究课题/FONT/FONT/DIV
方法:str = Regex.Replace(str, @"B[\s\S]*?([\s\S]*?)/B", "$1", RegexOptions.IgnoreCase);
其次替换掉FONT color=blueFONT size=2(字体的颜色和大小),得到如下格式的字符串:DIV一、学术研究课题/DIV
方法:
str = Regex.Replace(str, @"font[\s\S]*?([\s\S]*?)/font", "$1", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"font[\s\S]*?([\s\S]*?)/font", "$1", RegexOptions.IgnoreCase);
注意:在此使用两个Replace方法,是因为在字符串中有两个FONT,每次替换掉一个,感觉此处很麻烦,如果有多个FONT那怎么办那?这个问题仍然在思考中......也敬请指教!
最后为这个替换过的字符串添加上自己设置的格式(行高15px,字号13px,颜色黑色):
方法如下:
str = "font style=" + "line-height:15px;font-size:13px;color:#000000" + "" + str + "/font";
整体过程写成函数如下:
public string cleartag(string str)
{
str = Regex.Replace(str, @"font[\s\S]*?([\s\S]*?)/font", "$1", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"font[\s\S]*?([\s\S]*?)/font", "$1", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"B[\s\S]*?([\s\S]*?)/B", "$1", RegexOptions.IgnoreCase);
str = "font style=" + "line-height:15px;font-size:13px;color:#000000" + "" + str + "/font";
return str;
}
shell编程,输入一个字符串,判断是否是数字。
read a
if [[ $a =~ /\-?[0-9][0-9.]+/]] ; then
echo “$a is num”
fi
或:
|read -p "请输入一个字符串" str
if echo "$str"|shugrep "[a-zA-Z]" /dev/null echo "$str"|grep "[0-9]" /dev/null
then
echo "yes"
else
echo "no"
fi
扩展资料:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
防止sql注入漏洞可以用哪些函数
防止sql注入攻击,在数据库方面,针对每一个表的增删改,写存储过程,程序主要靠存储过程操作数据。
在代码中,个别特殊需要数据查询的,如果不能通过存储过程,那就尽量用传参的方式,尽量不要拼接sql。
如果非要拼接,要对拼接字符串进行处理,Tools的如下字符串处理方法可以防止注入攻击:
///?summary
///?格式化文本(防止SQL注入)
///?/summary
///?param?name="str"/param
///?returns/returns
public?static?string?AntiSQL(string?html)
{
????Regex?regex1?=?new?Regex(@"script[\s\S]+/script?*",?RegexOptions.IgnoreCase);
????Regex?regex2?=?new?Regex(@"?href?*=?*[\s\S]*script?*:",?RegexOptions.IgnoreCase);
????Regex?regex3?=?new?Regex(@"?on[\s\S]*=",?RegexOptions.IgnoreCase);
????Regex?regex4?=?new?Regex(@"iframe[\s\S]+/iframe?*",?RegexOptions.IgnoreCase);
????Regex?regex5?=?new?Regex(@"frameset[\s\S]+/frameset?*",?RegexOptions.IgnoreCase);
????Regex?regex10?=?new?Regex(@"select",?RegexOptions.IgnoreCase);
????Regex?regex11?=?new?Regex(@"update",?RegexOptions.IgnoreCase);
????Regex?regex12?=?new?Regex(@"delete",?RegexOptions.IgnoreCase);
????html?=?regex1.Replace(html,?"");?//过滤script/script标记
????html?=?regex2.Replace(html,?"");?//过滤href=javascript:?(A)?属性
????html?=?regex3.Replace(html,?"?_disibledevent=");?//过滤其它控件的on...事件
????html?=?regex4.Replace(html,?"");?//过滤iframe
????html?=?regex10.Replace(html,?"s_elect");
????html?=?regex11.Replace(html,?"u_pudate");
????html?=?regex12.Replace(html,?"d_elete");
????html?=?html.Replace("'",?"’");
????html?=?html.Replace("nbsp;",?"?");
????return?html;
}
C#中怎样进行忽略大小写的替换
using System.Text.RegularExpressions;
text = Regex.Replace(text,"test","OK",RegexOptions.IgnoreCase);