问题描述
字符串分隔成数组,由于空格处过多,没有特别好的思路
当前实现方法
我觉得现在的实现方法实在有点麻烦
var str = 'sourceIp == 86.248.198.93 && sourceIp != 86.248.198.93 || sourceIp == 86.248.198.93 || sourceIp != 86.248.198.93 && sourceIp == 86.248.198.93:737 && sourceIp != 86.248.198.93:737 || sourceIp == 86.248.198.93:737 || sourceIp != 86.248.198.93:737'
var arr = str.split(' ')
var newArr = ['']
arr.forEach(item => {
let oldValue = newArr[newArr.length-1].trim()
if(item === '&&' || item === '||') {
newArr.push(item)
} else {
newArr[newArr.length-1] = oldValue + ' ' + item
}
})
相关代码
'sourceIp == 86.248.198.93 && sourceIp != 86.248.198.93 || sourceIp == 86.248.198.93 || sourceIp != 86.248.198.93 && sourceIp == 86.248.198.93:737 && sourceIp != 86.248.198.93:737 || sourceIp == 86.248.198.93:737 || sourceIp != 86.248.198.93:737'
你期待的结果是什么?实际看到的错误信息又是什么?
["sourceIp == 86.248.198.93", "&& sourceIp != 86.248.198.93", "|| sourceIp == 86.248.198.93", "|| sourceIp != 86.248.198.93", "&& sourceIp == 86.248.198.93:737", "&& sourceIp != 86.248.198.93:737", "|| sourceIp == 86.248.198.93:737", "|| sourceIp != 86.248.198.93:737"]