js字符串处理(急)

qq561887370 2011-06-21 02:57:11
大神们,
js字符串处理啊,
这样一个字符串
(钱)我爱微博222(谢谢)我爱微博(对不起)
我想得到ss[0]=钱 ss[1]=谢谢 ss[2]=对不起
aa[0] = 我爱微博222 aa[1]我爱微博
有没有办法啊?
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragonlong2 2011-06-21
  • 打赏
  • 举报
回复
<html>
<script>
var s = '<img src="1.jpg"/>我爱微博222<img src="2.jpg"/>我爱微博<img src="3.jpg"/>'
s = s.replace(/\/\>/g, "/>\n");
s = s.replace(/\<img/g, "\n<img");
var list = s.split(/\n/);
var ss = [];
var aa = [];
for(var i=0;i<list.length/2;i++)
{
ss[ss.length] = list[2*i];
aa[aa.length] = list[2*i+1];
}
alert(ss);
alert(aa);

</script>
</html>
madpc 2011-06-21
  • 打赏
  • 举报
回复
var buf=[];
for(var i=0;i<a.length;i++){
buf.push("<img src='"+(i+1)+".jpg'/>"+a[i])
}

print(buf.join(''))
madpc 2011-06-21
  • 打赏
  • 举报
回复
var buf=[];
for(var i=0;i<a.length;i++){
buf.push("<img src='"+(i+1)+".jpg'/>"+a[i])
}
挨踢直男 2011-06-21
  • 打赏
  • 举报
回复
aa[0] = '<img src="1.jpg"/>'+ aa[0];
aa[1] = '<img src="2.jpg"/>'+aa[1];
alert(aa.join(""));

类似这个样子,你要的字符串已经都在两个数组里了,你要生成html的话,直接拼接字符串成html就可以了
qq561887370 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 madpc 的回复:]
JScript code


var html = 'abc(钱)我爱微博222(谢谢)我爱微博(对不起)def';
var ar=html.split(')');
var a=[];
var b=[];
for(var i=0;i<ar.length;i++){
var ar2=ar[i].split('(');
a.push(ar2[0]);
……

(钱)我爱微博222(谢谢)我爱微博(对不起)


ss[0]=钱 ss[1]=谢谢 ss[2]=对不起
aa[0] = 我爱微博222 aa[1]我爱微博

我这样得到了,我想
输出成<img src="1.jpg"/>我爱微博222<img src="2.jpg"/>我爱微博<img src="3.jpg"/>,你怎么写我不知道怎么连接,
弄好了,我分都给你啊
[/Quote]
madpc 2011-06-21
  • 打赏
  • 举报
回复


var html = 'abc(钱)我爱微博222(谢谢)我爱微博(对不起)def';
var ar=html.split(')');
var a=[];
var b=[];
for(var i=0;i<ar.length;i++){
var ar2=ar[i].split('(');
a.push(ar2[0]);
if(ar2.length>1){
b.push(ar2[1]);
}
}
alert(a.toString());
alert(b.toString());

qq561887370 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]
JScript code
var regex = /\((.*?)\)(.*?(?=\())?/;
var str = "(钱)我爱微博222(谢谢)我爱微博(对不起)";
var ss = [];
var aa = [];
var e = str.match(regex)
while(e)
{
var lastIndex = e.index+e[0].length
……
[/Quote]

(钱)我爱微博222(谢谢)我爱微博(对不起)


ss[0]=钱 ss[1]=谢谢 ss[2]=对不起
aa[0] = 我爱微博222 aa[1]我爱微博

我这样得到了,我想
输出成<img src="1.jpg"/>我爱微博222<img src="2.jpg"/>我爱微博<img src="3.jpg"/>,你怎么写我不知道怎么连接,
弄好了,我分都给你啊
varlj 2011-06-21
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
<script language="javascript" type="text/javascript">
//不知道前面会不会出现字的,我经加上了
var html = 'abc(钱)我爱微博222(谢谢)我爱微博(对不起)def'
var reg = /\(.+?\)/g;
var reg2 = /(^[^(]+)|\)([^(]+)/g;
var ss = html.match(reg);
var aa = [];
while(reg2.exec(html))
aa.push(RegExp.$1+RegExp.$2);
//结果
alert("ss\r\n"+ss);
alert("aa\r\n"+aa);
</script>
</body>
</html>
flyerwing 2011-06-21
  • 打赏
  • 举报
回复
正则是办法最好的办法.
实在不行也可以截取字符串,麻烦.
挨踢直男 2011-06-21
  • 打赏
  • 举报
回复
var regex = /\((.*?)\)(.*?(?=\())?/;
var str = "(钱)我爱微博222(谢谢)我爱微博(对不起)";
var ss = [];
var aa = [];
var e = str.match(regex)
while(e)
{
var lastIndex = e.index+e[0].length
ss.push(e[1]);
aa.push(e[2]);
str = str.substring(lastIndex);
e = str.match(regex);
}

document.write(ss)
document.write("</br>");
document.write(aa);

87,989

社区成员

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

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