【问题标题】:c# how to get specific string [closed]c#如何获取特定的字符串
【发布时间】:2014-06-13 07:28:36
【问题描述】:

您好,我在获取特定字符串时遇到问题。字符串如下:

string myPurseBalance = "Purse Balance: +0000004000 556080";

我只想拿出 4000 个。

【问题讨论】:

  • 你的模式是什么?例如,您想获取以+ 开头的最后一个4 数字吗?
  • 使用子字符串。 myPursebalance.SubString(22,4);
  • @captainsac 我认为这不是一个好方法。它适用于这种情况,但不是通用解决方案..
  • @SonerGönül 因为只指定了一个字符串并且没有任何模式,所以子字符串是一个很好的选择
  • 我喜欢有人来这里,(礼貌地)问足够简单的问题,他/她至少应该尝试自己解决,然后坐在监视器前等待有人为她解决问题/他。至少。你试过什么?

标签: c# asp.net substring string-parsing


【解决方案1】:

如果您的字符串格式/模式是固定的,那么您可以获得特定值

  string myPurseBalance = "Purse Balance: +0000004000 556080";
            //
  var newPursebal =Convert.ToDouble(myPurseBalance.Split('+')[1].Split(' ')[0]);

【讨论】:

  • 为什么要加倍?只是令人困惑的事情
【解决方案2】:

你可以使用这个正则表达式:

string extract = Regex.Replace(myPurseBalance, @"(.*?)\: \+[0]*(?<val>\d+) (.*)", "${val}")

它在: 之后搜索小数,修剪前导0s 并删除最后一个空格之后的所有内容。

【讨论】:

    【解决方案3】:

    您可以使用string.Split 获取+0000004000,然后使用string.Substring 通过传递Length-4 作为起始索引来获取最后四个字符。

    string str = myPurseBalance.Split(' ')[2];
    str = str.Substring(str.Length-4);
    

    【讨论】:

      【解决方案4】:

      学习正则表达式。 Here is just simple tutorial

      using System; 
      using System.Text.RegularExpressions;
      namespace regex
      {
          class MainClass
          {
              public static void Main (string[] args)
              {
                  string input = "Purse Balance: +0000504000 556080";
      
          // Here we call Regex.Match.
          Match match = Regex.Match(input, @"\+[0]*(\d+)",
              RegexOptions.IgnoreCase);
      
          // Here we check the Match instance.
          if (match.Success)
          {
              // Finally, we get the Group value and display it.
              string key = match.Groups[1].Value;
              Console.WriteLine(key);
          }
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2013-07-18
        • 2019-01-07
        • 1970-01-01
        • 2017-07-28
        • 2021-08-12
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多