我想分开" A // B / C"使用javascript split()
函数
"A//B/C".split(/\//g)
但它的输出是["A", "", "B", "C"]
,但我的预期输出是
["A/", "B", "C"]
我是如何使用javascript进行此操作的?
答案 0 :(得分:6)
我更新了@Tushar的答案并试了一下这对我有用..添加\b
只匹配正斜杠后跟字边界例如,[az]和[0-9]
"A//B/C".split(/\/\b/)
答案 1 :(得分:2)
如果后跟RegExp
或输入结束
/\/(?=[A-Z]|$)/
/
与A-Z
匹配
"A//B/C".split(/\/(?=[A-Z]|$)/)
答案 2 :(得分:0)
您需要将字符串拆分到当前字符为“/”且后面的字符不是“/”的位置。但是,正则表达式不应该消耗第二个(负)条件。换句话说:它不应该被视为范围。为此,您可以使用所谓的“向前看”。有一个积极的“向前看”和一个负向的。在这里我们需要一个消极的,因为我们想要表达“没有跟着”。语法为:(?!<string>)
,而不应该“跟随”。
所以你去了:/\/(?!\/)/
应用于您的示例:
"A//B/C".split(/\/(?!\/)/); // ["A/", "B", "C"]