javascript - 通过多个分隔符拆分字符串并保留一些分隔符同时丢弃其他分隔符
问题描述
我想" "
在删除它的同时用空格字符串分割,并","
在保留它的同时用逗号分割。
var str = "This is a word, and another."
var regexKeepCommaDelimeter = new RegExp(/(,)/,'g')
var regexKeepCommaRemoveSpace = new RegExp(/(????)/,'g')
var splitArray = str.split(regexKeepCommaRemoveSpace)
var desiredArray = ['This', 'is', 'a', 'word', ',', 'and', 'another.' ]
var testPassed = splitArray.every((x,i)=> x == desiredArray[i])
console.log('Arrays match:', testPassed)
解决方案
一种相当简单的方法是在,
没有空格的地方添加空格,然后在空格上分割:
var splitArray = str.replace(/ ?, ?/g, " , ").split(" ");
现场示例:
var str = "This is a word, and another."
var splitArray = str.replace(/ ?, ?/g, " , ").split(" ");
console.log(splitArray);
var desiredArray = ['This', 'is', 'a', 'word', ',', 'and', 'another.' ];
console.log(splitArray.every((e, i) => e === desiredArray[i]));
.as-console-wrapper {
max-height: 100% !important;
}
推荐阅读
- python - 'OrderedDict' 对象没有属性 'sort'
- php - 在 Woocommerce 中禁用特定付款方式的送货方式
- php - Laravel 404 页面未找到,路线存在
- automated-tests - 参数化黄瓜查询中的示例
- php - 你好!我正在尝试使用联系表 7 在我的 mysql 数据库中插入行
- wix - 如何设置目录的权限
- mercurial - Mercurial:每个文件的最新更改
- java - Spring Boot 集成 XXE 预防设置
- mysql - MySQL基于另一个表返回最不常见的行
- javascript - 我们可以在反应组件中运行 Whats app web 吗?