【问题标题】:Get everything before dot or comma c#获取点或逗号之前的所有内容 c#
【发布时间】:2018-05-22 01:55:35
【问题描述】:

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

例如:

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

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

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

【问题讨论】:

  • 您是否尝试解析可能来自不同语言环境的十进制值?如果是这样,请更新您的问题。还有更好的方法。
  • 或者你可以使用正则表达式,那么你会遇到两个问题:)

标签: c# .net par


【解决方案1】:
string test = input.Split(new Char[] { ',', '.' })[0];

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      例如

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

      【讨论】:

        猜你喜欢
        • 2017-11-15
        • 2021-01-21
        • 1970-01-01
        • 2016-11-08
        • 1970-01-01
        • 2021-03-05
        • 1970-01-01
        • 2022-01-05
        • 2016-08-25
        相关资源
        最近更新 更多