首页 > 解决方案 > 从javascript中的列表keyCode中拆分字符串

问题描述

我有一个代表分隔键的 keyCode 列表。用户输入字符串(来自文本框)后,如何通过 keyCode 列表拆分该字符串?到目前为止 split() 函数是允许使用字符串或正则表达式的,我在将 keyCode 转换为正则表达式时一无所获。

在这种情况下我该怎么办?

例如:

separators = [ 
    mdConstants.KEY_CODE.COMMA // 188
    mdConstants.KEY_CODE.DASH: // 189
    ...
]

Input -> Output
------------------
abc-def -> [ abc, def ]
abc-def.efg -> [ abc, def, efg ]

标签: javascript

解决方案


您可以在拆分中使用正则表达式:

// eg ,-
var separators = [44, 45];
var myText = "this, is a - test";

var regex = "[" + separators.map(function (c) { return String.fromCharCode(c); }).join("") + "]"; 

var groupedItems = myText.split(new RegExp(regex));
console.log(groupedItems);

推荐阅读