我正在寻找一种解决方案来拆分包含以下格式的文本的字符串:
"abcd efgh 'ijklm no pqrs' tuv"
这将产生以下结果:
['abcd','efgh','ijklm no pqrs','tuv']
换句话说,除非在单个带引号的字符串中,否则它将按空格分割.我认为可以使用.NET regexps使用“Lookaround”运算符,特别是平衡运算符.我不太了解Perl.
使用
Text::ParseWords:
#!/usr/bin/perl use strict; use warnings; use Text::ParseWords; my @words = parse_line('\s+',"abcd efgh 'ijklm no pqrs' tuv"); use Data::Dumper; print Dumper \@words;
输出:
C:\Temp> ff $VAR1 = [ 'abcd','tuv' ];
您可以查看Text :: ParseWords :: parse_line的源代码以查看使用的模式.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。