如何用分号分隔逗号,分号和逗号分隔的短语?

时间:2019-03-28 17:01:12

标签: javascript arrays regex string typescript

如何在用逗号作为分界符的分号之间处理任何内容时,如何用逗号分隔逗号,分号和逗号分隔的短语?

字符串:

var words = "apple;banana;apple, banana;fruit"

正则表达式函数,用和分隔;

 var result = words.split(/[,;]+/);

该函数的结果是:

[ "apple", "banana", "apple", " banana", "fruit" ]

但是我想要得到的是,拥有“香蕉,苹果”并将其作为一个单独的值

[ "apple", "banana, apple", " banana", "fruit" ]

那么可以将该函数中的两种情况组合起来作为第二个示例输出吗?还是其他优雅的方式?

3 个答案:

答案 0 :(得分:3)

可以使用匹配和替换的组合。

通过比赛,我们采用了两种模式

  1. 定界符(?:\w+;\w+,)之间的值
  2. 值不在定界符\w+;?之间

现在,基于匹配的组,我们只需使用替换以所需的格式更改值

let words = `apple;banana;apple, banana;fruit`

let op = words.match(/(?:\w+;\w+,)|\w+;?/g)
              .map(e=>e.replace(/(?:(\w+);(\w+),)|(\w+);?/g, (m,g1,g2,g3)=> g1 ? g1+', '+g2 : g3 ))

console.log(op)

答案 1 :(得分:0)

数组数学比正则表达式容易。

客观

apple;banana;apple, banana;fruit> [ "apple", "banana, apple", " banana", "fruit" ]

删除空格,分隔为;,分隔为,

解决方案

const words = 'apple;banana;apple, banana;fruit';
const result = words.split(' ').join('').split(';').join(',').split(',');
console.log(result);

答案 2 :(得分:0)

根据问题苹果香蕉的第二个例子(在this问题更新之后)尝试

i

Sub deletedconns()
    Dim i As Long
    For i = ActiveWorkbook.Connections.Count To 1 Step -1
        ActiveWorkbook.Connections.Item(i).Delete
    Next i
End Sub