【问题标题】:Change sequence of text in string in ASP.net?在 ASP.net 中更改字符串中的文本序列?
【发布时间】:2013-06-15 13:58:56
【问题描述】:

我有一个包含日期名称、月/日的字符串

Sun 6/9 - Sat 6/15

我需要把上面的日期顺序改成

sun 9/6 - Sat 15/6

我可以通过编写代码来拆分然后更改序列并加入结果来做到这一点。但是是否有任何最小的方法可以通过使用正则表达式或 vb.net 代码来实现这一点。

【问题讨论】:

    标签: javascript asp.net regex vb.net


    【解决方案1】:

    我不知道 vb.net 的正则表达式语法,但您的搜索正则表达式将是:([a-zA-Z]{3}\s)(\d)/(\d)(三个字母,后跟空格,后跟数字-斜线-数字),您的替换正则表达式将是:\1\3/\2。如果你熟悉 Unix sed 命令,那就是

    sed -re `s|([a-zA-Z]{3}\s)(\d)/(\d)|\1\3/\2|g`
    

    【讨论】:

      【解决方案2】:

      说明

      此正则表达式将查找每个日期组并交换数字。

      正则表达式:(\d{1,2})\/(\d{1,2})

      替换为$2/$1

      带输入文字:

      Sun 6/9 - Sat 6/15
      

      它产生

      Sun 9/6 - Sat 15/6
      

      Javascript 代码示例:

      <script type="text/javascript">
        var re = /(\d{1,2})\/(\d{1,2})/;
        var sourcestring = "source string to match with pattern";
        var replacementpattern = "$2/$1";
        var result = sourcestring.replace(re, replacementpattern);
        alert("result = " + result);
      </script>
      

      【讨论】:

      • 你用什么工具来制作这张非常漂亮的图表?
      • @Rune,我正在使用 debuggex.com。尽管它不支持lookbehinds、命名捕获组或原子组,但它对于理解表达式流仍然很方便。还有 regexper.com。他们也做得很好,但在你输入的时候不是实时的。
      猜你喜欢
      • 2014-02-02
      • 2013-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      相关资源
      最近更新 更多