我正在使用Java来解析用户输入的字符串,表示单个数值或范围.用户可以输入以下字符串:
10-19
Run Code Online (Sandbox Code Playgroud)
他的目的是使用10-19- >的整数10,11,12...19
用户还可以指定数字列表:
10,15,19
Run Code Online (Sandbox Code Playgroud)
或以上的组合:
10-19,25,33
Run Code Online (Sandbox Code Playgroud)
是否有一个方便的方法,可能基于正则表达式,来执行此解析?或者我必须使用分割字符串String.split(),然后手动迭代特殊符号(在这种情况下为','和' - ')?
我正在编写一个MATLAB应用程序,它有许多功能分布在不同的文件中.我有一个记录器,它是一个带有函数指针的结构,我用它来记录用户要查看的信息(即,当前正在执行哪个函数,计算结果等).我为记录器使用结构的原因并不仅仅是fprintf()我将来可以轻松地用XML记录器,HTML记录器等替换它.
由于我的代码由许多相互调用的函数组成,我将我的logger结构声明为全局,因此我不必将它传递给我的所有函数.然而,在我看到的任何地方,我都看到全局变量在MATLAB中是邪恶的化身,并且会大大减慢我的程序.
有没有办法让文件中的变量可用而不必将它们作为输入参数传递,并且不会受到严重的性能损失?