如何使用JavaScript(不是jQuery)从字符串中过滤前缀和修剪单词
How to filter prefix and trim words from a string with JavaScript (not jQuery)
我从来不擅长字符串操作,现在我卡住了。因此,长字符串具有以下内容:
[desktop-detected display-settings main-boxed pace-done header-function-fixed nav-function-fixed nav-function-hidden nav-function-minify mod-sound mod-font]
我想过滤并保留带有 nav-、header-和 mod-* 前缀的字符串,因此清理后的字符串应如下所示:
[header-function-fixed nav-function-fixed nav-function-hidden nav-function-minify mod-sound mod-font]
我不知道如何开始,完全没有头绪...
拆分、过滤和连接
var result = '[' + string.split(/[^'w-]+/).filter(function(item) {
return /^(nav|header|mod)-/i.test(item);
}).join(' ') + ']';
JSFiddle 演示:https://jsfiddle.net/c3nff3p6/2/
/[^'w-]+/
通过不匹配单词或破折号作为分隔符将短语拆分为数组。
如果项目以这些值之一开头,后跟短划线,则/^(nav|header|mod)-/i
匹配,不区分大小写。
其他解决方案,谢谢@Tushar。
'[' + string.slice(1, -1).split(/'s+/).filter(str => /^(nav|header|mod)-/.test(str)).join(' ') + ']'
使用匹配
'[' + string.slice(1, -1).match(/'b(nav|header|mod)-'S*/g).join(' ') + ']'
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- 为什么我的d3.jsselectAll+过滤器没有过滤
- jQuery's trim()的前缀为not运算符
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 在jquery中生成一个自动前缀编号
- Angular:使用选择列表选择过滤代码中的对象
- 在单击时过滤 JSON
- 使用querySelectorAll为图像源添加前缀
- 如何在BookshelfJS中通过加入来过滤结果
- 如何使用javascript过滤复杂的json对象
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 过滤AngularJs中的数据
- 通过API调用过滤数据
- 使用angularjs内置过滤器过滤代码中的特定属性
- 如何在重建URL后从URL中传递过滤值,目的是使用Angular2和Typescript实现无限滚动
- 相对于角度控制器中的另一个阵列过滤阵列项目
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- 尝试过滤“;引号"基于'"类别“;使用流星&mongo
- 如何使用JavaScript(不是jQuery)从字符串中过滤前缀和修剪单词