JS字符串分割

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS字符串分割相关的知识,希望对你有一定的参考价值。

假设现在有如下一个字符串,如下:
var str='张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二/';
请问有什么办法,可以利用JS 分别输出:
张三/张三/张三/张三/
李四/李四/
王小二/王小二/王小二/王小二/

参考技术A js的String有indexOf(),lastIndexOf()方法可以知道某字符(串)第一次或者最后一次出现的位置,然后用String的substring()方法传入开始出现 的位置和最后出现的位置,就可以达到你要的结果了。具体用法你百度吧。 参考技术B var str = '张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二/';
var reg = /([\\u4e00-\\u9fa5]+?\\/)\\1*/gi;
while (res = reg.exec(str)) 
document.write(res[0]+'<br/>'); //单引号中是br标签,提交回答以后没有显示出来

追问

这个强,正是我想要的答案,有点小问题:
没有输出我要的结果啊,我是想根据每个人的名字分别输出:
张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二/

本回答被提问者采纳
参考技术C

这是我写的一个例子,仅供参考:

<script type="text/javascript">
var str='张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二';
var arr=str.split('/');
var temp='';
for (var i = 0; i <arr.length; i++) 
if(temp=="" || temp==arr[i])
document.write(arr[i]+"/");
else
document.write("<br/>"+arr[i]+"/");


temp=arr[i];
;
</script>

参考技术D var str = '张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二/';
var zs = str.substring(0, str.indexOf('李四'));
str = str.substring(str.indexOf('李四'), str.length);
var ls = str.substring(0, str.indexOf('王小二'));
str = str.substring(str.indexOf('王小二'), str.length);
alert(zs+'\n'+ls+'\n'+str);
第5个回答  2014-01-21 var str1=str.split("/")
for(var str2 in str1)
    
    for(var str3 in str1)
    
    if (str2==str3)
        str=str + str3;
    else        
        alert(str);
        str=str3;
        
    

追问

谢谢,非常感谢您的回复,为什么只是提示:str3未定义。

追答

在这段程序执行前 先定义str3

var str3

追问

不好意思
我已经进行了定义
结果不是我想要的
能否利用正则表达式来进行
如:var result=str.match(/((\w+)\/)\1*\2*/g);
只是上面这句不支持汉字,不知如何修改?

以上是关于JS字符串分割的主要内容,如果未能解决你的问题,请参考以下文章

js split分割字符串成数组

JS截取与分割字符串常用技巧总结

js split 的用法和定义 js split分割字符串成数组的实例代码

java类中与js中split分割字符串转数组区别

js将字符串按照逗号分割

前端js截取or分割字符串的常见方法