C#算法函数:获取一个字符串中的最大长度的数字


/// <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;
}

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持phpstudy。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3