锁定老帖子 主题:征求更好的实现方法...
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-28
需求:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-28
何必用正则
split(';') 然后在split(',')[0] 再拼接就是了 |
|
返回顶楼 | |
发表时间:2011-07-28
var arr = "123abc,2011-09-08 11:22;456abc,2011-09-08 11:22;8&%$#,2011-09-08 11:22;una89,2011-09-08 11:22;".split(/,\d{4}\-\d\d\-\d\d \d\d:\d\d;/); arr.pop(); alert(arr.join("|")); |
|
返回顶楼 | |
发表时间:2011-07-29
最后修改:2011-07-29
用replace就行了。为什么要先split 再 join , 不用切了再连,绕弯了。
var str="123abc,2011-09-08 11:22;456abc,2011-09-08 11:22;8&%$#,2011-09-08 11:22;una89,2011-09-08 11:22;"; str=str.replace(/,\d{4}-\d{2}-\d{2}\s\d{2}:\d{2};/g,'|').replace(/\|$/,'') |
|
返回顶楼 | |
发表时间:2011-07-29
feige05 写道 用replace就行了。为什么要先split 再 join , 不用切了再连,绕弯了。
var str="123abc,2011-09-08 11:22;456abc,2011-09-08 11:22;8&%$#,2011-09-08 11:22;una89,2011-09-08 11:22;"; str=str.replace(/,\d{4}-\d{2}-\d{2}\s\d{2}:\d{2};/g,'|').replace(/\|$/,'') 也是哈。。。 通常这种数据解析出来都会作处理,或者存下来供其它逻辑使用,所以习惯性了…… |
|
返回顶楼 | |
发表时间:2011-07-29
hehoha_wj 写道
需求:
,日期时间; 替换成| 就搞定了,没必要太复杂 |
|
返回顶楼 | |
发表时间:2011-07-29
Reset 写道 hehoha_wj 写道
需求:
,日期时间; 替换成| 就搞定了,没必要太复杂 都他娘的是高手.. |
|
返回顶楼 | |
发表时间:2011-07-29
奥义之舞 写道
Reset 写道
hehoha_wj 写道
需求:
,日期时间; 替换成| 就搞定了,没必要太复杂 都他娘的是高手.. 我不是他娘。。 |
|
返回顶楼 | |
发表时间:2011-07-29
同意4楼的feige05
|
|
返回顶楼 | |
发表时间:2011-07-29
采用split()方法实现的具体代码。此代码兼容分号前面有1个或者多个逗号的形式。譬如:aa,bb;aa,bb; aa,aa,bb;aa,aa,bb; 等等。
代码 package cn.Aaron.j2se; public class Sample { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str ="123abc,2011-09-08 11:22;456abc,2011-09-08 11:22;8&%$#,2011-09-08 11:22;una89,2011-09-08 11:22;"; System.out.println(function(str)); } public static String function(String s){ StringBuffer sb = new StringBuffer(); //先判断字符串是否长度大于0 if(s.length()>0){ if(s.indexOf(",")==-1 || s.indexOf(";")==-1){ return "字符串输入格式不对"; } if(s.indexOf(",")>s.indexOf(";")){ return "字符串输入格式不对"; } if(s.indexOf(",")!=-1 && s.indexOf(";")!=-1){ //根据分号将字符串分成若干个小字符串。 String[] str1 = s.split(";"); for(int i=0;i<str1.length;i++){ //对于每一个以分号为分隔符的数组中的元素在以逗号分隔 String str2[] = str1[i].split(","); for(int j =0;j<str2.length-1;j++){ sb.append(str2[j]); sb.append("|"); } } } return sb.toString(); } else return "字符串不存在"; } } |
|
返回顶楼 | |