簡體   English   中英

C# 正則表達式獲取字符串之間的數字

[英]C# regex get string beetween numbers

我有一個簡單的字符串,看起來像

string text = "1\t2:3|5"

所以我的目標是獲得數字之間的字符,例如:

string[] result = {"\t", ":", "|"}

我試圖通過先獲取數字來解決這個問題

 Regex.Matches(text , "(-?[0-9]+)").OfType<Match>().Select(m => int.Parse(m.Value)).ToArray();

然后使用這個正則表達式模式

/[^ \w]/g

好吧,我得到了符號,但是“\t”被拆分為“”並且沒有“t”,如何正則表達式呢?

您可以使用RegexString.Split - 結果相同

char[] separators = new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };        
var splitResult = text.Split(separators, StringSplitOptions.RemoveEmptyEntries);        

var matchesResult = Regex.Matches(text, @"(?<=\d)\D+(?=\d)").Select(w => w.Value).ToArray();

https://dotnetfiddle.net/csj1f6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM