首页 > 代码库 > 获取字符串中最大的数字

获取字符串中最大的数字

/// <summary>
/// 获取字符串最长的数字
/// </summary>
/// <param name="inputStr">输入字符串</param>
/// <returns>最长数字</returns>
public string GetMaxLenNumber(string inputStr)
{
  //将字符串中的字符存放到数组中,便于处理
  char[] strCharArray = inputStr.ToCharArray();
  //开始处理的位置
  int startPos = 0;
  //当前处理的字符长度
  int tempCharCount = 0;
  //数字的最长长度
  int maxLen = 0;
  //数组的总长度
  int len = strCharArray.Length;
  int pos = 0;
  while (startPos < len)
  {
    //循环中的临时最大长度
    int tempMax = 0;
    while (tempCharCount + startPos < len)
    {
      //开始处理的字符
      char c = strCharArray[tempCharCount + startPos];
      if (char.IsNumber(c))
      {
        //如果是数字
        tempMax++;
        if (tempMax > maxLen)
        {
          maxLen = tempMax;
          pos = startPos;
        }           
      }
      else
      {
        //不是数字
        tempMax = 0;
        startPos++;
        break;
      }
      tempCharCount++;
    }
    if (startPos + tempCharCount == len)
    {
      break;
    }
    tempCharCount = 0;      
  }
  string s = inputStr.Substring(pos, maxLen);
  return s;
}

获取字符串中最大的数字