mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
# Conflicts: # jsowell-ui/.env.development # jsowell-ui/.env.staging # jsowell-ui/bin/build-sit.bat # jsowell-ui/bin/build.bat # jsowell-ui/src/api/adapayMember/adapayMember.js # jsowell-ui/src/api/pile/merchant.js # jsowell-ui/src/router/index.js # jsowell-ui/src/views/financial/financeDetail.vue # jsowell-ui/src/views/financial/merchant.vue # jsowell-ui/src/views/homeIndex/homeIndex.vue # jsowell-ui/src/views/login.vue # jsowell-ui/src/views/pile/basic/detail.vue # jsowell-ui/src/views/pile/station/components/SiteInfo.vue # jsowell-ui/src/views/pile/station/detail.vue # jsowell-ui/src/views/pile/station/orderReport.vue
51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
var Marker = require('../tokenizer/marker');
|
|
|
|
function split(value, separator) {
|
|
var openLevel = Marker.OPEN_ROUND_BRACKET;
|
|
var closeLevel = Marker.CLOSE_ROUND_BRACKET;
|
|
var level = 0;
|
|
var cursor = 0;
|
|
var lastStart = 0;
|
|
var lastValue;
|
|
var lastCharacter;
|
|
var len = value.length;
|
|
var parts = [];
|
|
|
|
if (value.indexOf(separator) == -1) {
|
|
return [value];
|
|
}
|
|
|
|
if (value.indexOf(openLevel) == -1) {
|
|
return value.split(separator);
|
|
}
|
|
|
|
while (cursor < len) {
|
|
if (value[cursor] == openLevel) {
|
|
level++;
|
|
} else if (value[cursor] == closeLevel) {
|
|
level--;
|
|
}
|
|
|
|
if (level === 0 && cursor > 0 && cursor + 1 < len && value[cursor] == separator) {
|
|
parts.push(value.substring(lastStart, cursor));
|
|
lastStart = cursor + 1;
|
|
}
|
|
|
|
cursor++;
|
|
}
|
|
|
|
if (lastStart < cursor + 1) {
|
|
lastValue = value.substring(lastStart);
|
|
lastCharacter = lastValue[lastValue.length - 1];
|
|
if (lastCharacter == separator) {
|
|
lastValue = lastValue.substring(0, lastValue.length - 1);
|
|
}
|
|
|
|
parts.push(lastValue);
|
|
}
|
|
|
|
return parts;
|
|
}
|
|
|
|
module.exports = split;
|