首頁 > 軟體

C#中正規表示式(Regex)過濾內容的基本使用方法

2022-08-02 14:05:42

先看英文意思

名稱空間

using System.Text.RegularExpressions;

正規表示式是幹什麼用的?

簡單來說就是 檢索 資料

個人比較喜歡用來過濾一些文字的內容和網頁

比如我有100w個文字想找到裡面的幾個數位用人工一個一個查詢基本不可能

但是使用正規表示式就可以在馬上找到

在程式設計裡還是比較重要的

簡單瞭解後開始教學

比如有一個記事本內容 要找出裡面的5個數位 分別是 2 4 8 9 6

1.讀取文字內容

上面說的開啟 並不是把檔案開啟 而是將檔案開啟在 緩衝區 才可以進行讀和寫的操作 下面粗略畫了個圖更好理解

2.建立正規表示式

匹配規則是什麼?

就是你需要的哪一些資料

比如我只需要數位 [d]或者[0-9]

就是那麼簡單

下面是匹配規則(部分)

“ ^ ” 符號意思 :這個是一個排除的符號哦 如果不需要就在前面加一個這個符號即可 如 [^0-9] 不需要0-9的數位

大小寫區別 :小寫是需要 大寫 是排除

  • [d] :只需要0-9的數位
  • [D] :不需要0-9的數位
  • [^d] :除了數位其他內容都需要**
  • [w]:只需要英文字母a-z A-Z 0-9 漢字
  • [D]:不需要英文字母a-z A-Z 0-9 漢字
  • [a-c]:只需要a-c的單詞 當然也是可以a-l 等等
  • [^a-c]:不需要a-c的單詞 當然也是可以a-l 等等
  • [a|b]:只需要a或b

因為我只需要拿到裡面的數位所以直接使用 [d]

3.輸出匹配好的內容

溫馨提示:迴圈裡如果不知道資料型別 可以用var 代替哦

var:不知道資料型別的情況下 使用 ,出的是string型別 那他就是 string型別 出來是int 就是int型別 非常好用

執行效果:

簡單粗暴 只需要幾行程式碼就把想要的內容拿下來了

以後處理一些資料還是很好用的 當然上面說的都是基礎

補充:C#正規表示式篩選去掉不符合的字元

如下舉例篩選str字串中非十六進位制字元,得到新的目標字串strRet;

string str = "abcdsefghias12321312";//需要篩選的目標字串
string pattern = "[A-Fa-f0-9]";//表示十六進位制字元
string strRet = "";
MatchCollection results = Regex.Matches(str, pattern);
foreach (var v in results)
{
       strRet += v.ToString();
}

總結

到此這篇關於C#中正規表示式(Regex)過濾內容的基本使用的文章就介紹到這了,更多相關C#正規表示式Regex過濾內容內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com