求字符串中相邻数字的长度,比如“qw123gh3456”返回4,“2345”返回3 数字必须是相邻的。
//推荐测试数据
127,
12456,
we1we,
we1235rt56
public static StringBuffer getContinuousNumber(String str)
{
//count表示当前累计数字的个数
int count=0;
//最大数字长度和当前数字长度
int maxLength=0;
int nowLength=0;
//最大字符串和当前字符串
StringBuffer maxNumBuffer=null;
StringBuffer nowNumBuffer=null;
for(int i=0;i<str.length();i++)
{
//是数字的进入
if(str.charAt(i)>=48 && str.charAt(i)<=57)
{
count++;
//处理第一个数字字符
if(nowLength==0)
{
nowNumBuffer=new StringBuffer(String.valueOf(str.charAt(i)));
nowLength++;
}
else
{
int num=nowNumBuffer.charAt(count-2);
if(num+1==str.charAt(i))
{
nowNumBuffer.append(str.charAt(i));
nowLength++;
}
else
{
//当连续数字出现了非连续的数字4的时候,把这个4当做现在的buffer,并且设置当前大小为1,累计数字大小为1
nowNumBuffer=new StringBuffer(String.valueOf(str.charAt