c#之字符串截取--regex.match使用
c#字符串截取--regex.match
c#字符串截取–regex.match regex.match方法:在輸入字符串中搜索匹配正則表達(dá)式模式的子字符串,并將第一個(gè)匹配項(xiàng)作為單個(gè)match對(duì)象返回。
regex.match
方法的重載方法有六種類型,也都差不多,下面就主要給大家講講怎么用regex.match方法實(shí)現(xiàn)我們需要的功能:
public match match(string input):
在指定的輸入字符串中搜索 regex 構(gòu)造函數(shù)中指定的正則表達(dá)式的第一個(gè)匹配項(xiàng);參數(shù):要搜索匹配項(xiàng)的字符串;返回結(jié)果:一個(gè)包含有關(guān)匹配的信息的match對(duì)象。
match對(duì)象:表示單個(gè)正則表達(dá)式匹配的結(jié)果。
其中match對(duì)象的groups屬性為:獲取由正則表達(dá)式匹配的組的集合。
如果我們要用regex.match方法,首先我們要添加using system.text.regularexpressions;這個(gè)引用。
static void main(string[] args) { string s1 = "所屬機(jī)構(gòu)名稱/教師姓名/課程類型/課程名稱"; //定義一個(gè)能夠?qū)⑽覀冃枰臇|西截取出來的正則表達(dá)式 regex regex = new regex(@"(.*)/(.*)/(.*)/(.*)", regexoptions.ignorecase); //顯示每一個(gè)滿足正則表達(dá)式的子字符串 foreach (var i in regex.match(s1).groups) { console.writeline(i); } }
c#的字符串截取,長(zhǎng)度未定時(shí)
設(shè):
str="前字符串=后字符串";
"needstr"作為我們需要的內(nèi)容;
注意所選取的字符未定長(zhǎng)度的時(shí)候選用!
字符串指定兩邊字符,取中間字符
//我們希望得到的字符串“=”; needstr = new regex("(?<=(" + "前字符串" + "))[.\\s\\s]*?(?=(" + 后字符串 + "))", regexoptions.multiline | regexoptions.singleline).match(str).value;
字符串指定最后一個(gè)分割字符,取前面字符
//得到“前字符串” needstr= targetstring.substring(0,targetstring.lastindexof("指定字符串"));
字符串指定最后一個(gè)分割字符,取后面字符(已知長(zhǎng)度)
//得到“后” needstr= targetstring.substring(targetstring.lastindexof("指定字符串")+1,1);
字符串指定最后一個(gè)分割字符,取后面字符(未知長(zhǎng)度,也就是后面全部)
//得到“后字符串” //獲取所需截取的前面總長(zhǎng)度 int index=str.lastindexof("="); //從該字符后開始,一直到結(jié)束的長(zhǎng)度為總長(zhǎng)-前字符長(zhǎng)度-1 ?needstr= str.substring(index+1,str.length-index-1);
------------------補(bǔ)充--------------------
去掉最后一個(gè)字符
s=s.substring(0,s.length-1);
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持碩編程。