`
mr.a
  • 浏览: 93340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一种较高效的js文本替换方法(批量替换文本中多个匹配规则的字符)

    博客分类:
  • js
 
阅读更多
/** 用于 一次性批量替换文本中多个匹配规则的字符 
	测试使用长度为1M的文本 
 **/

//1 

Ext.Ajax.request({
	url : 'data.json',
	success : function (res) {

		var t = res.responseText;

		console.log(t.length);

		var d = (new Date).getTime();

		t = t.replace(/\./g, 'A').replace(/\;/g, 'B').replace(/\-/g, 'C').replace(/\,/g, 'D');

		var d1 = (new Date).getTime();

		console.log(d1 - d);

	});
	
	// output: 997920  757
	
	
//2	
	Ext.Ajax.request({
		url : 'data.json',
		success : function (res) {

			var t = res.responseText;

			console.log(t.length);

			var d = (new Date).getTime();

			var o = {};
			o['.'] = 'A';
			o[';'] = 'B';
			o['-'] = 'C';
			o[','] = 'D';

			var reg = (function () {
				var a = [];
				for (var p in o) {
					a.push(p);
				}

				return RegExp(a.join('|'));
			})();

			t = t.replace(reg, function (match, s) {
					return o[match];
				});

			var d1 = (new Date).getTime();

			console.log(d1 - d);
		}
	});

	// output : 997920 229

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics