【问题标题】:parsing strings with or without regex使用或不使用正则表达式解析字符串
【发布时间】:2014-04-05 12:06:44
【问题描述】:

我正在尝试创建一个基本文件系统来模仿终端。我目前坚持在命令后获取名称。我的第一个想法是使用正则表达式来解析命令。

命令示例如下:

mkdir hello
ls
cd hello

但是考虑到许多空格,输入可能是mkdir hello。我想知道是否有另一种不使用正则表达式的方法?我也很好奇哪种方法更快?有或没有正则表达式?

【问题讨论】:

    标签: java regex string


    【解决方案1】:

    通常,正则表达式更快,因为您可以编译它。

    java.util.regex - importance of Pattern.compile()?

    (在内部,我认为JVM总是在某个时候编译正则表达式,但如果你明确地这样做,你可以重用它。我不确定JVM是否足够聪明,可以在本地重用编译的正则表达式,也许是)

    【讨论】:

      【解决方案2】:
      for(String current: line.split("\\s+"){
         //do something.
      }
      

      【讨论】:

        【解决方案3】:

        你可以尝试像这样分割线

        String[] tokens = line.split(" ");
        

        对于基本命令,您的命令很可能位于tokens[0],后跟参数。

        【讨论】:

        • 不要忘记接受对您最有帮助的答案。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-10
        • 2010-11-22
        • 2011-10-14
        • 1970-01-01
        • 2014-10-29
        相关资源
        最近更新 更多