选择字符串中的某个部分作为变量c#

Hen*_*sen 0 c# string

我有一个像下面的"1 1/2 + 2 2/3"字符串

现在我希望"1 1/2"作为变量,"2 2/3"作为不同的变量.我该如何解决?

谢谢.

Kev*_*vek 6

如果你总是在中间有一个'+',你可以简单地做:

var splitStrings = stringWithPlus.Split('+');
for (int i = 0; i < splitStrings.Length; i++) {
   splitStrings[i] = splitStrings[i].Trim();
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果你真的想把这两个部分分成两个独立的变量,你可以这样做.但这是非常不必要的.var的类型将是,string[]但要将它们分为两个变量:

var splitStrings = stringWithPlus.Split('+');
for (int i = 0; i < splitStrings.Length; i++) {
   splitStrings[i] = splitStrings[i].Trim();
}
string firstHalf = splitStrings[0];
string secondHalf = splitStrings[1];
Run Code Online (Sandbox Code Playgroud)

但是,通过数组访问这些字符串会更好,因为那时你不会为相同的数据分配更多的内存.

如果您对Linq感到满意并希望缩短它(上面的例子说明了究竟会发生什么),您可以在一行中执行split&foreach:

var splitStrings = stringWithPlus.Split('+').Select(aString => aString.Trim()).ToArray();
string firstHalf=splitStrings[0];
string secondHalf=splitStrings[1];
Run Code Online (Sandbox Code Playgroud)

如果这种语法令人困惑,你应该对Linq进行一些搜索,更具体地说是Linq to Objects.