javascript - 在 Javascript 中通过任意 3 个选项(换行符、逗号、空格)拆分字符串
问题描述
我有一个文本框,用户可以将字符串数据复制/粘贴到其中。这将是一串数字。此数字字符串可以从 csv 字符串、由空格分隔的字符串或由换行符分隔的字符串复制/粘贴。所以理想情况下,我能够处理所有 3 个(或将来更多的分隔符)。
目前我有以下代码,但是当我从所有 3 个场景复制/粘贴时,我只得到一个空字符串数组:
var data = event.originalEvent.clipboardData.getData('text/plain').split(/[\n,\S+]/);
似乎是 \S+ 导致了这个问题。如果我只有 \n,它适用于 /n 和逗号,但只要我添加 \S+,它就会为所有内容提供所有空字符串。
解决方案
\s+
不是\S+
并在逗号后去掉空格
var str = `1,2,3,4,5, 6, 7
8 9 10`
console.log(str.replace(/,\s+/g,",").split(/[\n,\s+]/))
推荐阅读
- python - 如何在python中实现ruby int(16).to_s(32)
- javascript - 如何在jquery Laravel中动态停止所有音频播放
- dask - Dask +Xarray 实现来处理多年的 NetCDF 数据集
- python - 了解默认烧瓶日志记录
- html - ASP .Net Core 内联编辑记录而不使用 javascript
- java - Thymeleaf th:字段到字符串变量
- ios - iPhone Chrome 大约 1 秒后更改布局
- ios - 如何在 iOS 中的 CallKit 上编写 XCUITests?
- python - 从python中的文本文件中检索行和
- javascript - 使用 reactjs 计算多个表单的 2 个日期之间的时间