[英]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.