获取点或逗号 c# 之前的所有内容

Get everything before dot or comma c#

如何获取点或逗号之前的所有内容的子字符串?

例如:

    string input = "2.1";
int charLocation = text.IndexOf(".", StringComparison.Ordinal);
    string test = input.Substring(0, charLocation );

但是如果我有 input = "2,1" 怎么办?

我想用一种方法完成,而不是使用两次子字符串(一次用于点,一次用于逗号)?

string test = input.Split(new Char[] { ',', '.' })[0];

这将拆分逗号或句点的字符串...

input.Split(',','.');

使用 IndexOfAny 函数。它允许您指定要查找的字符列表,而不仅仅是单个字符。然后,您可以创建一个子字符串,直到该函数的 return 值。

例如

char[] chars = { '.', ',' }
String out = s.Substring(0,s.IndexOfAny(chars));