为了账号安全,请及时绑定邮箱和手机立即绑定

如何用JS正则表达式获取两个字符串的差异,然后显示在第二个字符串

如何用JS正则表达式获取两个字符串的差异,然后显示在第二个字符串

OneKi 2017-06-28 08:33:25
更改前:你好啊,我是JavaScript,请问你是谁?更改后:你好,我是java,很高兴认识你!更改的字段:啊JScript请问谁?j很高兴认识!现在我想让获取到两个字符串的差异,放在更改后的字段里。更改前存在,更改后不存在的打印在更改后里面并且用删除线划去,更改前不存在更改后存在的变换颜色。应该怎么做
查看完整描述

1 回答

已采纳
?
cnyballk

TA贡献148条经验 获得超93个赞

var  sr1='你好啊,我是JavaScript,请问你是谁?';
	var sr2='你好,我是java,很高兴认识你!';
	var sr3='';
	var sr4='';
	for(var i=0;i<sr1.length;i++){
		var flag=true;
		for(var j=0;j<sr2.length;j++){
			if(sr1[i]==sr2[j]){
				flag=false;
				break;
			}	
		}
		if(flag) sr3+=sr1[i];
	}
	for(var i=0;i<sr2.length;i++){
		var flag=true;
		for(var j=0;j<sr1.length;j++){
			if(sr2[i]==sr1[j]){
				flag=false;
				break;
			}	
		}
		if(flag) sr4+=sr2[i];
	}
	console.log(sr3,sr4);

sr3是更改前存在,更改后不存在,sr4是更改前不存在更改后存在

查看完整回答
2 反对 回复 2017-06-28
  • OneKi
    OneKi
    但是我想正则表达式获取,然后需要这样显示:你好啊,我是java,请问你是谁?很高兴认识你!,啊和请问你是谁?用删除线划掉,原本的JavaScript变成java了,给java加上颜色,这样应该怎么做
  • cnyballk
    cnyballk
    var sr1='你好啊,我是JavaScript,请问你是谁?'; var sr2='你好,我是java,很高兴认识你!'; var reg = new RegExp("(?=.*?)[^" + sr1 +"](?=.*?)|(?=.*?)[^" + sr2 + "](?=.*?)", "g"); var arr; var sr3=''; while ((arr = reg.exec(sr1 + sr2)) != null){ sr3+=arr[0] } console.log(sr3); 至于删除线和加颜色你用样式做就行了
  • cnyballk
    cnyballk
    var sr1='你好啊,我是JavaScript,请问你是谁?'; var sr2='你好,我是java,很高兴认识你!'; var reg1 = new RegExp("[^"+sr1+"]", "g"); var reg2 = new RegExp("[^"+sr2+"]", "g"); var arr; var sr3=''; var sr4=''; while ((arr = reg1.exec(sr2)) != null){ sr3+=arr[0] } while ((arr = reg2.exec(sr1)) != null){ sr4+=arr[0] } console.log(sr3,sr4); 刚才连起来了 忘记你还要加样式 这个是分开来的
点击展开后面1
  • 1 回答
  • 0 关注
  • 2639 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信