UNPKG

javascriptx

Version:

javascript 基础库扩展

75 lines (71 loc) 2.31 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); // String var resovle = function resovle(context, startString, stopString, isTurn) { var subIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; var res = null; var start = startString.split('*'); var stop = stopString.split('*'); try { if (!isTurn) { for (var i = 0; i < start.length; i++) { var s1 = GetGoodString(context, start[i], isTurn); var indexOf = context.indexOf(s1); if (indexOf > -1) { context = context.substring(indexOf + s1.length); } else { return false; } } var s2 = GetGoodString(context, stop[0], isTurn); res = context.substring(subIndex, context.indexOf(s2) - subIndex); return res; } else { for (var _i = stop.length - 1; _i >= 0; _i--) { var _s2 = GetGoodString(context, stop[_i], isTurn); var _indexOf = context.lastIndexOf(_s2); if (_indexOf > -1) { context = context.substring(0, _indexOf); } else { return false; } } var _s = GetGoodString(context, start[start.length - 1], isTurn); res = context.substring(context.lastIndexOf(_s) + _s.length + subIndex); return res; } } catch (Exception) { return false; } }; function GetGoodString(context, substring, turn) { if (!context) { return substring; } var arr = substring.split('|'); var index = turn ? -1 : context.length; var ret = substring; for (var i in arr) { var str = arr[i]; if (!str) { continue; } if (!turn) { var temp = context.indexOf(str); if (temp > -1 && temp < index) { index = temp; ret = str; } } else { var _temp = context.lastIndexOf(str); if (_temp > -1 && _temp > index) { index = _temp; ret = str; } } } return ret; } exports.default = resovle;