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