【问题标题】:How do I check if a number string is in running sequence如何检查数字字符串是否在运行序列中
【发布时间】:2014-05-27 03:26:43
【问题描述】:

是否有正则表达式(或任何其他方式)来检查字符串中的数字是否在运行序列中?

例如,

"123456" will return true
"456789" will return true
"345678" will return true
"123467" will return false
"901234" will return false

【问题讨论】:

    标签: c# .net regex logic


    【解决方案1】:

    如果您的所有序列都由一位数组成,那么您可以通过观察所有正确序列必须是最长此类序列的子字符串(即"0123456789")来解决此问题。所以可以这样检查:

    bool res = "0123456789".Contains(str);
    

    Demo on ideone.

    【讨论】:

      【解决方案2】:

      这个怎么样:

      text.Skip(1).Zip(text, (c1, c0) => new { c1, c0 }).All(c => c.c1 - c.c0 == 1)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-09
        • 1970-01-01
        • 2016-12-11
        • 1970-01-01
        • 2011-02-22
        • 2013-04-29
        • 2015-05-31
        • 2019-06-13
        相关资源
        最近更新 更多