javascript - 仅找到第一个匹配项并返回数组中的剩余字符

标签 javascript arrays regex

我正在使用正则表达式在字符串中查找匹配项。

输入为“一个”

变量为“香蕉”

需要输出为数组 ['b','a','n','a']

我试过下面的东西:

https://regex101.com/r/k3bRid/1

代码

var regex = '[^' + input + ']';
            regex = new RegExp(regex, 'gi')
            var reduceArr = variable.match(regex);

它应该生成包含剩余字符的数组,仅排除第一个输入匹配.. 输入可以是单个字符或两个字符

示例尝试:

输入:“ta”

对于变量:“说话”

一切正常

最佳答案

您可以使用搜索字符串并将第一个查找结果替换为空字符串。然后拆分字符串以仅获取单个字符。

function getParts(input, string) {
    var regex = new RegExp(input, 'i')
    return string.replace(regex, '').split('');
}

console.log(getParts('an', 'banana'));

关于javascript - 仅找到第一个匹配项并返回数组中的剩余字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47364130/

相关文章:

regex - 从 .HTMLbody 中的表中提取电子邮件地址

python - 用 re.sub 列表中的元素替换?

php - Twig 模板 - 在数组中访问数组

php - 关联数组第二高值与键

javascript - 如何使用 Cytoscape.js 使节点的名称与其 ID 不同?

java - 指定默认 a4j :commandButton when press Enter in JSF form

arrays - Kotlin中带有ByteArray的数据类

python re.search(正则表达式)只搜索具有 {{world}} 模式的单词

基于 HTML 表单的 Javascript 变量和 If 函数

JavaScript嵌套数组过滤问题