一个关于取字符串中数字和字符的逻辑问题

代码如下

 string a = "长花asdsad1236李代5415老花1213";



            int j = 0;

            int k = 0;

            bool id = true;

            

            for (int i = 0; i < a.Length;i++ )

            {

                if (a[i] >= '0' && a[i] <= '9')

                {

                    if (id)

                    {

                        k = i;

                        id = false;

                    }

                    if (i < a.Length - 1)

                    {

                        if (a[i + 1] >= '0' && a[i + 1] <= '9')

                        {

                            continue;

                        }

                        else

                        {

                            Response.Write(a.Substring(j, k - j) + ":" + a.Substring(k, i + 1 - k));

                            id = true;

                            j = i + 1;

                        }

                    }

                    else

                    {

                        Response.Write(a.Substring(j, k - j) + ":" + a.Substring(k, i + 1 - k));

                    }

                }

            }

输出结果为

 

长花asdsad:1236李代:5415老花:1213

 

这段代码还有待优化。希望大神指正

你可能感兴趣的:(字符串)