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è)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于NET?Core?的Nuget包制作、發(fā)布和運(yùn)用流程解析(完整過程)
這篇文章主要介紹了基于NET?Core?的Nuget包制作、發(fā)布和運(yùn)用流程,本文通過圖文并茂的形式給大家介紹了Nuget包制作過程,感興趣的朋友跟隨小編一起看看吧2022-02-02C#使用Gembox.SpreadSheet向Excel寫入數(shù)據(jù)及圖表的實(shí)例
下面小編就為大家分享一篇C#使用Gembox.SpreadSheet向Excel寫入數(shù)據(jù)及圖表的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12C#控制臺(tái)程序如何發(fā)布到服務(wù)器Linux上運(yùn)行
這篇文章主要給大家介紹了關(guān)于C#控制臺(tái)程序如何發(fā)布到服務(wù)器Linux上運(yùn)行的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-11-11C#中數(shù)組初始化、反轉(zhuǎn)和排序用法實(shí)例
這篇文章主要介紹了C#中數(shù)組初始化、反轉(zhuǎn)和排序用法,涉及C#中數(shù)組常見的定義、初始化、排序等操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Unity ScrollView實(shí)現(xiàn)自動(dòng)吸附效果
這篇文章主要為大家詳細(xì)介紹了Unity ScrollView實(shí)現(xiàn)自動(dòng)吸附效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07C#使用iCSharpcode進(jìn)行文件壓縮實(shí)現(xiàn)方法
這篇文章主要介紹了C#使用iCSharpcode進(jìn)行文件壓縮實(shí)現(xiàn)方法,末尾附有完整實(shí)例,有助于大家參考借鑒,需要的朋友可以參考下2014-08-08unity實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02