首页 > 解决方案 > 在 Javascript 中通过任意 3 个选项(换行符、逗号、空格)拆分字符串

问题描述

我有一个文本框,用户可以将字符串数据复制/粘贴到其中。这将是一串数字。此数字字符串可以从 csv 字符串、由空格分隔的字符串或由换行符分隔的字符串复制/粘贴。所以理想情况下,我能够处理所有 3 个(或将来更多的分隔符)。

目前我有以下代码,但是当我从所有 3 个场景复制/粘贴时,我只得到一个空字符串数组:

var data = event.originalEvent.clipboardData.getData('text/plain').split(/[\n,\S+]/);

似乎是 \S+ 导致了这个问题。如果我只有 \n,它适用于 /n 和逗号,但只要我添加 \S+,它就会为所有内容提供所有空字符串。

标签: javascript

解决方案


\s+不是\S+ 并在逗号后去掉空格

var str = `1,2,3,4,5, 6, 7
8 9 10`

console.log(str.replace(/,\s+/g,",").split(/[\n,\s+]/))


推荐阅读