javascript - 如何在 JavaScript 中获取字符串的两个字符之间的文本?

标签 javascript

我有一个像这样的数组:

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/

相关文章:

javascript - requireJS 中的上下文和嵌套模块

javascript - magento 中的 libphonenumber-js(或需要 js)返回未定义

javascript - 在测试使用 Promise 的 Node 模块时如何断言?

javascript - 如何使用 JQuery 检查复选框是否被选中

javascript - Scrapy 爬行在 ASPX 网站上不起作用

javascript - 使用 jquery 或 javascript 拆分具有不同分隔符的字符串

javascript - AngularJS 中页面加载的 Switch 语句

javascript : how to send request in restful

javascript - 如何创建一个简单的共享 linkedIn 链接?

javascript - RegEx - JavaScript - 使用任何协议(protocol)、子域和文件夹验证已知域