2 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以更改正則表達(dá)式以分割一定數(shù)量的空格,后跟算術(shù)運(yùn)算符,后跟空格:
string[] strNum = (Regex.Split(mExp, @"\s*[+/*-]\s*"));
Console.WriteLine(string.Join("\n", strNum));
輸出:
1.50
2.50
要處理負(fù)數(shù),您必須使正則表達(dá)式更加復(fù)雜,并添加數(shù)字的后視和數(shù)字或 a 的前視-:
string mExp = "-1.50 + 2.50 -3.0 + -1";
string[] strNum = (Regex.Split(mExp, @"(?<=\d)\s*[+*/-]\s*(?=-|\d)"));
Console.WriteLine(string.Join("\n", strNum));
輸出:
-1.50
2.50
3.0
-1

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以使用以下正則表達(dá)式來拆分非十進(jìn)制數(shù)和十進(jìn)制數(shù):
[^\d.]+
string[] strNum = (Regex.Split(mExp, @"[^\d.]+"));
本質(zhì)上是說遞歸地匹配除數(shù)字或點(diǎn)字符之外的任何內(nèi)容,并按該匹配項(xiàng)進(jìn)行分割。
- 2 回答
- 0 關(guān)注
- 185 瀏覽
添加回答
舉報(bào)