[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 CrLf 于 2015-8-26 20:49 编辑

回复 15# 回家路上


    那应该只回一个参数才对
再改一下,还是可以用正则搞定的:
  1. getopts('1"   "2"   "3"   "4"   "5"   "6    a"   "b"   "c"   "d')
  2. function getopts(strArg){
  3.         var re = /[^"\s,;=]*"([^"]*("[^"\s,;=]*")*)*("[^"\s,;=]*|$)|[^"\s,;=]+/g
  4.         var argv = []
  5.         strArg.replace(re,function($0){argv.push($0.replace(/^"(.*)"$/g,'$1'))})
  6.         return argv
  7. }
复制代码
1

评分人数

TOP

回复 15# 回家路上


    哦,例子切错地方了,原来那样确实是两截,已修改。我是想说明分割参数得兼容双引号内含有空格的情况

TOP

回复 17# CrLf


哦,允许用双引号将分割符转义的意思。好的。我也想想。

TOP

回复 18# 回家路上


    又想了一下,发现之前想错了,其实也很简单,已修改

TOP

回复 19# CrLf


赞一个,我想了好久都没想出来。


其实那个while不用覆盖的,思路也好呀。都搁这儿多好。

TOP

返回列表