繁体   English   中英

在Javascript正则表达式方面需要帮助-拆分文本

[英]Need help with Javascript Regular Expressions - Splitting text

我有一个字符串,表示以空格分隔的标签列表。 它可能看起来像这样:

Australia 2010 David November Family

如果标签至少包含一个空格,则必须用引号引起来。 因此字符串可以是:

"Best Friends" "My Pictures" Wow "Very Nice Photo" University

单个单词也可以使用引号。 例如:

"Good One" Fantastic "February" "My Family" "Friends"

问题是:
您如何从字符串中获取标签数组?
例如,从第三个字符串中,我想获得以下数组:

arr[0] = "Good One"
arr[1] = "Fantastic"
arr[2] = "February"
arr[3] = "My Family"
arr[4] = "Friends"

如果字符串格式不正确,我想了解一下(例如:获取空数组)。

您可以使用正则表达式,例如/"[^"]+"|\\w+/来匹配标签。要获取包含所有不带引号的匹配项的数组,可以使用类似

var re = /"[^"]+"|\w+/g;
var result = [];
var match;
while(match = re.exec(input))
    result.push(match[0].replace(/"/g, ""));

如果您不必删除引号,则可以使用

var result = input.match(re);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM