如何在Ruby中拆分参数字符串Bash样式?
发布时间:2020-12-17 03:37:17 所属栏目:百科 来源:网络整理
导读:我正在为一个项目创建一个简单的 shell,我希望像在 Bash中一样解析参数字符串. foo bar "hello world" fooz 应该成为: ["foo","bar","hello world","fooz"] 等等.到目前为止,我一直在使用CSV :: parse_line,将列分隔符设置为“”和.compacting输出.问题是我
我正在为一个项目创建一个简单的
shell,我希望像在
Bash中一样解析参数字符串.
foo bar "hello world" fooz 应该成为: ["foo","bar","hello world","fooz"] 等等.到目前为止,我一直在使用CSV :: parse_line,将列分隔符设置为“”和.compacting输出.问题是我现在必须选择是否要支持单引号或双引号. CSV不支持多个分隔符. Python有一个模块,正好称为shlex: >>> shlex.split("Test 'hello world' foo") ['Test','hello world','foo'] >>> shlex.split('Test "hello world" foo') ['Test','foo'] 是否有任何隐藏的内置Ruby模块可以做到这一点?任何解决方案的建议将不胜感激. 解决方法
Ruby有模块
Shellwords :
require "shellwords" Shellwords.shellsplit('Test "hello world" foo') # => ["Test","foo"] 'Test "hello world" foo'.shellsplit # => ["Test","foo"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |