js字符串查重表达式
2022-08-12阅读(742)
问:如何在JS中判断两个字符串中有相同的字符
- 答:var str1="abc";
var str2="bde";
var i;
for(i=0; i<=str1.length-1; i++)
{
if (str2.indexOf(str1.substr(i,1))!=-1)
{
alert('有相同的字符');
break;
}
else
if (i==str1.length-1) alert('无相同字符');
}
问:JS如何检查是否有相同的字符串
- 答:function testfun(str)
{
var array = new array('1','2','3','','5');
for( var i=0;i<array.length;i++ )
{
if( array[i] == str )
{
alert('找到与'+str+'相等元素');
}
}
}
//调用方法
var str='';
testfun(str);
//输出结果 找到与相等元素 - 答:用个笨方法,就是添加标签的时候用个全局变量,每次加标签和前边的一个用空格间隔,添加新标签的时候,把全局变量分隔开,一个个进行匹配,
问:JS 怎么用正则去重字符串。如:var="123456,123456"; 只保留一个字符串
- 答:",123456,,123456,,12346,,123456,".replace(/(,\d+,)(?=\S+\1)/g,"");
差不多就这样了,你吧字符串预先处理成我这个格式,再替换。
问:js正则表达式匹配字符串
- 答:function test(id){
var s="2.1,1.2.1,2.1,2.1.1,2.1";
// 给前后加逗号
s = ',' + s + ',';
// 转义id里的.(点), 不然new之后就变成通配符了
id = id.replace(/\./, '\\.');
var reg = "," + id +",";
var exp = new RegExp(reg,"g");
s = s.replace(exp,",");
// 删除前后逗号
s = s.replace(/(^,)|(,$)/g, '');
alert(s);
}
test("2.1") - 答:function test(id){
var s = '2.1,1.2.1,2.1,2.1.1,2.1';
// var reg = /^2.1,|,2.1(?=,)|,2.1$/g;
var reg = new RegExp('^' + id + ',|,' + id + '(?=,)|,' + id + '$','g');
return s.replace(reg,'');
}
alert(test('2.1'));
问:JS字符串转成数学表达式
- 答:只要是完全符合js语法的 直接用eval即可 否则就很麻烦了 可能需要你自己按照四则运算的顺序自己来写一个函数解释表达式
- 答:var str="21/3+6*6*(5-8)";
eval("str="+str);
alert(); - 答:eval('21/3+6*6*(5-8)');