在C#中分割字符串

Fra*_*inc -1 c# regex c#-4.0

有没有办法分割以下string(包含变量x1, x2, x3)

3x1+5x2-8x3<=9

进入以下令牌

{3, 1, +5, 2, -8, 3, 9}

Ale*_*hev 5

您可以使用正则表达式并仅提取带有符号的数字:

const string str = "3x1+5x2-8x3<=9";
var result = Regex.Matches(str, @"([\+\-]?[\d]+)", RegexOptions.Singleline)
    .Cast<Match>().Select(x => x.Value).ToList();
Run Code Online (Sandbox Code Playgroud)

结果:

[0] "3" string
[1] "1" string
[2] "+5"    string
[3] "2" string
[4] "-8"    string
[5] "3" string
[6] "9" string
Run Code Online (Sandbox Code Playgroud)