求助!~~js匹配字符串问题

帕克 2017-01-11 10:27:28
现在有一个字符串,我alert出来了,格式如下:[{tt=中国}{tt=美国}{tt=英国}],我想循环匹配出中国,美国,英国,求助该怎么写,在线等~~
...全文
135 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
帕克 2017-01-11
  • 打赏
  • 举报
回复
问题已找到,空格未进行处理,感谢@bcsflilong
帕克 2017-01-11
  • 打赏
  • 举报
回复
引用 8 楼 bcsflilong 的回复:
[quote=引用 7 楼 h15950595916 的回复:] [quote=引用 2 楼 bcsflilong 的回复:]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
大神,我忘记有逗号了,您麻烦看看[{tt=中国},{tt=美国},{tt=英国}]怎么写正则了 [/quote]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("},{"); //改这里
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
我这么写很不专业 但勉强能用 [/quote]大神,我试了下这段js,alert出这个,可能没有明白我的意思··,我第一遍的字符串写错了(sry),正确的字符串应该是这个[{tt=中国},{tt=美国},{tt=英国}],带逗号的,再帮忙看下啦~
  • 打赏
  • 举报
回复
bcsflilong 2017-01-11
  • 打赏
  • 举报
回复
引用 7 楼 h15950595916 的回复:
[quote=引用 2 楼 bcsflilong 的回复:]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
大神,我忘记有逗号了,您麻烦看看[{tt=中国},{tt=美国},{tt=英国}]怎么写正则了 [/quote]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("},{"); //改这里
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
我这么写很不专业 但勉强能用
帕克 2017-01-11
  • 打赏
  • 举报
回复
引用 2 楼 bcsflilong 的回复:
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
大神,我忘记有逗号了,您麻烦看看[{tt=中国},{tt=美国},{tt=英国}]怎么写正则了
bcsflilong 2017-01-11
  • 打赏
  • 举报
回复
引用 5 楼 h15950595916 的回复:
[quote=引用 2 楼 bcsflilong 的回复:]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
大神,这边我用你的方法,可以输出三个国家,但是把正则用到正式业务上就不行了,给你看看截图了[/quote]
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("},{"); //字符分割 这里要修改
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
帕克 2017-01-11
  • 打赏
  • 举报
回复
引用 2 楼 bcsflilong 的回复:
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script>
大神,这边我用你的方法,可以输出三个国家,但是把正则用到正式业务上就不行了,给你看看截图了
帕克 2017-01-11
  • 打赏
  • 举报
回复
引用 3 楼 zwy0123 的回复:
[{tt=中国}{tt=美国}{tt=英国}] 建议你写成这种格式:[{'tt':'中国'}{'tt':'美国'}{'tt':'英国'}],然后使用JSON.parse()方法,很容易就获取到你想要的值了
[{tt=中国}{tt=美国}{tt=英国}]这个是直接从后台返回过来的值,我这边不好修改啊
ichavin 2017-01-11
  • 打赏
  • 举报
回复
[{tt=中国}{tt=美国}{tt=英国}] 建议你写成这种格式:[{'tt':'中国'}{'tt':'美国'}{'tt':'英国'}],然后使用JSON.parse()方法,很容易就获取到你想要的值了
bcsflilong 2017-01-11
  • 打赏
  • 举报
回复
<script language="javascript">
str="[{tt=中国}{tt=美国}{tt=英国}]"; //这是一字符串
str=str.replace("]","").replace("[","");
var strs= new Array(); //定义一数组
strs=str.split("}{"); //字符分割
for (i=0;i<strs.length ;i++ )
{
var st=strs[i];
st=st.replace("{","").replace("}","");
//alert(st);
var strs2= new Array();
strs2=st.split("=");
alert(strs2[1]);
}
</script> 
小胖9040 2017-01-11
  • 打赏
  • 举报
回复
循环匹配?什么意思?你描述的不清楚

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧