UNPKG

avalon2

Version:

an elegant efficient express mvvm framework

52 lines 1.22 kB
/* * 将要检测的字符串的字符串替换成??123这样的格式 */ export var stringNum = 0 export var stringPool = { map: {} } export var rfill = /\?\?\d+/g export function dig(a) { var key = '??' + stringNum++ stringPool.map[key] = a return key + ' ' } export function fill(a) { var val = stringPool.map[a] return val } export function clearString(str) { var array = readString(str) for (var i = 0, n = array.length; i < n; i++) { str = str.replace(array[i], dig) } return str } //https://github.com/RubyLouvre/avalon/issues/1944 function readString(str, i, ret) { var end = false, s = 0, i = i || 0 ret = ret || []; for (var n = str.length; i < n; i++) { var c = str.charAt(i); if (!end) { if (c === "'") { end = "'"; s = i; } else if (c === '"') { end = '"'; s = i; } } else { if (c === end) { ret.push(str.slice(s, i + 1)); end = false; } } } if (end !== false) { return readString(str, s + 1, ret) } return ret; }