我有一个像这样的数组:
var people = [
'<option value=\'64\'>Tom',
'<option value=\'76\'>Dan',
];
我循环遍历数组中的每个项目以提取值(如第一项中的数字 64)和文本(如第一项中的 Tom)。我尝试了多种方法从每个项目中提取这些详细信息,但我无法做到。我什至尝试使用子字符串和其他方法。有人可以告诉我如何提取这些信息吗?
最佳答案
在这种情况下您应该使用正则表达式。
例如:
var things = people.map(function(s){
return s.match(/(\d+)\W+(\w+)$/).slice(1)
});
这构建了这个数组:
[ ["64", "Tom"], ["76", "Dan"] ]
您可能希望根据您的具体需求进行调整:
- 检查
match
返回的数组,如果某些字符串可能无效 - 如果模式变化较大,请更改正则表达式
请注意,您可能不应该从这样的数组开始。如果您在服务器端生成它,则应该选择生成 JSON 结构,并让客户端脚本从数据构建界面,而不是从既不是干净数据也不是 GUI 的东西构建界面。
关于javascript - 如何在 JavaScript 中获取字符串的两个字符之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30620559/