算法函数:得到一个字符串中的最大长度的数字

 /// <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;
        }
      
posted @ 2007-09-04 10:25 Robin Zhang 阅读(...) 评论(...) 编辑 收藏