首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 问个正则的问题 [已结贴,结贴人:Brunhild]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:03:36 楼主
    有字符串xxxxx/yyyyy@zzzzzz
    如何取/和@之间的内容?
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:03:501楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【Brunhild】截止到2008-07-17 17:03:56的历史汇总数据(不包括此帖):
    发帖的总数量:17                      发帖的总分数:1070                    每贴平均分数:62                     
    回帖的总数量:33                      得分贴总数量:9                        回帖的得分率:27%                     
    结贴的总数量:17                      结贴的总分数:1070                   
    无满意结贴数:1                        无满意结贴分:20                     
    未结的帖子数:0                        未结的总分数:0                       
    结贴的百分比:100.00%              结分的百分比:100.00%                 
    无满意结贴率:5.88  %              无满意结分率:1.87  %                 
    敬礼!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • craky
    • 等级:
    发表于:2008-07-17 17:08:082楼 得分:10
    Java code
    String str = "xxxx/yyyyy@zzzzzz"; String regex = "\\/|\\@"; String[] strs = str.split(regex); for(String s: strs) { System.out.println(s); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • craky
    • 等级:
    发表于:2008-07-17 17:14:323楼 得分:0
    Java code
    String str = "xxxx/yyyyy@zzzzzz"; String regex = "\\/.*?\\@"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); while(m.find()) { System.out.println(str.substring(m.start() + 1, m.end() - 1)); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:14:414楼 得分:0
    谢谢2楼,不过不是要分割,是直接取出中间的部分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:17:305楼 得分:0
    3楼,能不能直接用正则解决,我不想再截头截尾?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:31:026楼 得分:30
    Java code
    Pattern pat = Pattern.compile("/(.+?)@"); Matcher mat = pat.matcher("xxxxx/yyyyy@zzzzzz "); while (mat.find()) { System.out.println(mat.group(1)); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:32:567楼 得分:0
    引用 6 楼 joejoe1991 的回复:
    Java code        Pattern pat = Pattern.compile("/(.+?)@");
            Matcher mat = pat.matcher("xxxxx/yyyyy@zzzzzz ");
            while (mat.find()) {
                System.out.println(mat.group(1));
            }



    正解,非常好,呵呵。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • craky
    • 等级:
    发表于:2008-07-17 17:34:568楼 得分:0
    正等你来呢,哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:38:149楼 得分:10
    String str = "xxxx/yyyyy@zzzzzz";
            String regex = "\\/(.*?)\\@";
           
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(str);
           
            while(m.find())
            {
                System.out.println(m.group(1));
            }
    把楼上一个兄弟的改造了一下,不知道是否可行??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • craky
    • 等级:
    发表于:2008-07-17 17:39:2610楼 得分:0
    9楼可行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:42:2711楼 得分:0
    预匹配
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-17 17:48:1712楼 得分:0
    非常感谢
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved