首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Javascript中提取子字符串的更简单方法

在Javascript中提取子字符串的更简单方法
EN

Stack Overflow用户
提问于 2011-12-06 19:28:27
回答 4查看 344关注 0票数 5

我正在尝试从Javascript中的字符串中提取与给定模式匹配的子字符串。示例:

代码语言:javascript
复制
var classProp = 'active category_games',
    match = classProp.match(/category_[a-z]+\b/),
    category;
if(match !== null && match.length > 0){
  category = match[0];
}

有没有更简单的方法来解决这个问题呢?一行代码,最好是?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-06 19:39:36

在分类之前应该有一个\b吗?

如果匹配失败,你可以通过提供一个空数组来缩短它;

代码语言:javascript
复制
 category = (classProp.match(/category_[a-z]+\b/) || [""])[0];
票数 7
EN

Stack Overflow用户

发布于 2011-12-06 19:35:59

好了,这已经非常接近一行了。您可以将"if“代码块简化为以下代码:

代码语言:javascript
复制
if(match){
  category = match[0];
}
票数 0
EN

Stack Overflow用户

发布于 2011-12-06 19:40:19

这样如何:

代码语言:javascript
复制
try { var category = 'active category_games'.match(/category_[a-z]+\b/).pop(); } catch(e) {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8399178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档