日期:2014-05-18  浏览次数:20641 次

请教高手:JavaScript中如何实现动态输入字符串(字符串中包含有中文,数字)的替换?
在用JavaScript处理的时候,我遇到一个问题:
用户可能输入一个字符串str_in,在这个输入的字符串中可能包含有“取X年Y月的数据”,这里的X,Y是用户输入的任意年,月。
例如:str_in="我想做这个处理:取2008年7月的数据。";
这时,我想将输入的str_in进行替换,把“取X年Y月的数据”替换成“\t”。
我是这么处理的:
  var pattern = /取\d{4}年\d{1,2}月数据/g;
  str_in = str_in.replace(pattern,"\t");
  alert(str_in);
但是输出的结果还是“我想做这个处理:取2008年7月的数据。”
请问高手,该怎么处理才能得到我想要的结果?
注:输入的字符串中可能没有“取X年Y月的数据”,比如:“我想做这个处理:加法。”
或者还可能是“我想做这个处理:取2007年5月的数据进行加法计算。”这时正确结果就应该是“我想做这个处理:\t进行加法计算。”
小弟在这多谢大伙了!

------解决方案--------------------
var pattern = /取\d{4}年\d{1,2}月数据/g; 

你少写了一个的

var pattern = /取\d{4}年\d{1,2}月的数据/g;