求字符串中最大数字

 public String GetMaxLenNumber(String inputStr)
       {
           //将字符串中的字符存放到数组中,便于处理
           char[] strArray = inputStr.toCharArray();
           //开始处理的位置
           int startPos = 0;
           //当前处理的字符长度
           int tempCount = 0;
           //数字的最长长度
           int maxLen = 0;
           //数组的总长度
           int len = strArray.length;
           int pos = 0;
           while (startPos < len)
           {
               //循环中的临时最大长度
               int tempMax = 0;
               while (tempCount + startPos < len)
               {
                   //开始处理的字符
                   char c = strArray[tempCount + startPos];
                   if ((c>=‘0‘)&&(c<=‘9‘))
                   {
                       //如果是数字
                       tempMax++;
                       if (tempMax > maxLen)
                       {
                           maxLen = tempMax;
                           pos = startPos;
                       }
                   }
                   else
                   {
                       //不是数字
                       tempMax = 0;
                       startPos++;
                       break;
                   }
                   tempCount++;
               }
               if (startPos + tempCount == len)
               {
                   break;
               }
               tempCount = 0;
           }
           String s = inputStr.substring(pos,pos+maxLen);
           return s;
       } 

判断char是否是数字

Character.isDigit(‘9‘)

求字符串中最大数字

时间: 2024-10-11 18:27:02

求字符串中最大数字的相关文章

Python3中字符串中的数字提取方法

逛到一个有意思的博客http://cuiqingcai.com/category/technique/python 在里面看到一篇关于ValueError: invalid literal for int() with base 10错误的解析,针对这个错误,博主已经给出解决办法,使用的是re.sub 方法 1 totalCount = '100abc' 2 totalCount = re.sub("\D", "", totalCount) 但是没有说明什么含义,于

C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

/// 去掉字符串中的数字 public static string RemoveNumber(string key)          {              return Regex.Replace(key, @"\d", "");          } //去掉字符串中的非数字public static string RemoveNotNumber(string key)  {      return Regex.Replace(key, @"

HDU 3518 Boring counting(后缀数组啊 求字符串中不重叠的重复出现至少两次的子串的个数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3518 Problem Description 035 now faced a tough problem,his english teacher gives him a string,which consists with n lower case letter,he must figure out how many substrings appear at least twice,moreover

[2013百度软件研发笔试题] 求字符串中连续出现同样字符的最大值

题目完整描写叙述为:用递归的方式实现一个求字符串中连续出现同样字符的最大值.如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 下面是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\

[2013百度软件研发笔试题] 求字符串中连续出现相同字符的最大值

题目完整描述为:用递归的方式实现一个求字符串中连续出现相同字符的最大值,如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 以下是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\0'

Excel中如何提取字符串中的数字

取字符串中的数字,假如数据在A列,提取公式为 =LOOKUP(9^9,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99)))   如果字符串中只有汉字和数字,提取公式为 =MIDB(A1,SEARCHB("?",A1),2*LEN(A1)-LENB(A1))   还有一个强大的VLOOKUP函数,在此标记.

Java 用正则表达式 截取字符串中的数字

package com.benywave; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String str = "急救电话 112"; Pattern pattern = Pattern.compile("[0-9]{1,}"); Matcher matcher

从字符串中提取数字串并排序(C语言实现)

#include "stdio.h" #include "stdlib.h" #include "string.h" typedef int BOOL; #define TRUE 1; #define FALSE 0; static void SplitBySeparator( char **arr, char *str, int size, char sep); void SortNums ( char* str, int size, int

使用awk提取字符串中的数字或字母

1.提取字符串中的数字 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' {   for(i=1;i<=NF;i++)    {       if ($i ~ /[[:digit:]]/)          {       str=$i       str1=(str1 str)     }     }    print str1 }' 输出 3458 或 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F &q