[字符串处理问题]大家来集思广益把!

ADC_VN 2015-05-06 09:19:44
【神农溪】巴东神农溪,流经湖北巴东县境内。神农溪是一条典型的峡谷溪流,两岸山峰紧束,绝壁峭耸,溪水在刀削般的峡壁间冲撞,水道曲折,湍急的溪流中有险滩、长滩、弯滩、浅滩六十余处。巴东神农溪水道虽狭急却清浅,漂流极富刺激而又安全。  原图 赞[0] 转发[0] 评论[0] 收藏 2014-08-08 05:15:08 来自皮皮时光机

转发了 白举纲 的微博:她出生的有点困难!谢谢Nick老师的制作和Kim老师的声乐指导!谢谢彭导团队的用心!谢谢我哥哥白红!田华姐辛苦了!谢谢你们!希望你们能喜欢这首《燃》~ http://t.cn/RAEJxwL  原图 赞[70263] 原文转发[117442] 原文评论[32254] 转发理由:我们最喜欢的 //@宁桓宇:这就是我最喜欢的歌。最喜欢。  赞[0] 转发[0] 评论[0] 收藏 04月29日 22:29 来自iPhone 6


第一段是个自创的微博,要提取出赞、转发、评论的数量。
第二段是转发的微博,要提取出博主转发出后微博的赞、转发、评论的数量。(如第二段是 0 0 0 而不是70263 117442 32254)
...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
聪头 2015-05-11
  • 打赏
  • 举报
回复
只能用字符串匹配方式
tony4geek 2015-05-11
  • 打赏
  • 举报
回复
	String s="转发了 白举纲 的微博:她出生的有点困难!谢谢Nick老师的制作和Kim老师的声乐指导!谢谢彭导团队的用心!谢谢我哥哥白红!田华姐辛苦了!谢谢你们!希望你们能喜欢这首《燃》~ http://t.cn/RAEJxwL  原图 赞[70263] 原文转发[117442] 原文评论[32254] 转发理由:我们最喜欢的 //@宁桓宇:这就是我最喜欢的歌。最喜欢。  赞[0] 转发[0] 评论[0] 收藏 04月29日 22:29 来自iPhone 6";
		//System.out.println(s.replaceAll(".*赞\\[(.*?)\\].*?转发\\[(.*?)\\].*?评论\\[(.*?)\\].*", "赞:$1\n转发:$2\n评论:$3"));
		Matcher m = Pattern.compile(".*赞\\[(.*?)\\].*?转发\\[(.*?)\\].*?评论\\[(.*?)\\].*").matcher(s);
		String t1,t2,t3;
		while(m.find()){
			t1=m.group(1);
			t2=m.group(2);
			t3=m.group(3);
			
			 System.out.println("赞:"+t1);
			 System.out.println("转发:"+t2);
			 System.out.println("评论:"+t3);
		 }
ADC_VN 2015-05-09
  • 打赏
  • 举报
回复
引用 3 楼 rui888 的回复:
//String s="【神农溪】巴东神农溪,流经湖北巴东县境内。神农溪是一条典型的峡谷溪流,两岸山峰紧束,绝壁峭耸,溪水在刀削般的峡壁间冲撞,水道曲折,湍急的溪流中有险滩、长滩、弯滩、浅滩六十余处。巴东神农溪水道虽狭急却清浅,漂流极富刺激而又安全。  原图 赞[0] 转发[0] 评论[0] 收藏 2014-08-08 05:15:08 来自皮皮时光机";
		String s="转发了 白举纲 的微博:她出生的有点困难!谢谢Nick老师的制作和Kim老师的声乐指导!谢谢彭导团队的用心!谢谢我哥哥白红!田华姐辛苦了!谢谢你们!希望你们能喜欢这首《燃》~ http://t.cn/RAEJxwL  原图 赞[70263] 原文转发[117442] 原文评论[32254] 转发理由:我们最喜欢的 //@宁桓宇:这就是我最喜欢的歌。最喜欢。  赞[0] 转发[0] 评论[0] 收藏 04月29日 22:29 来自iPhone 6";
		System.out.println(s.replaceAll(".*赞\\[(.*?)\\].*?转发\\[(.*?)\\].*?评论\\[(.*?)\\].*", "赞:$1\n转发:$2\n评论:$3"));
	
很赞! 但是怎么把获取的这三个值取出来赋值给其他的变量呢?
Chengyajie521 2015-05-07
  • 打赏
  • 举报
回复
正则,取最后匹配到的项
tony4geek 2015-05-07
  • 打赏
  • 举报
回复
//String s="【神农溪】巴东神农溪,流经湖北巴东县境内。神农溪是一条典型的峡谷溪流,两岸山峰紧束,绝壁峭耸,溪水在刀削般的峡壁间冲撞,水道曲折,湍急的溪流中有险滩、长滩、弯滩、浅滩六十余处。巴东神农溪水道虽狭急却清浅,漂流极富刺激而又安全。  原图 赞[0] 转发[0] 评论[0] 收藏 2014-08-08 05:15:08 来自皮皮时光机";
		String s="转发了 白举纲 的微博:她出生的有点困难!谢谢Nick老师的制作和Kim老师的声乐指导!谢谢彭导团队的用心!谢谢我哥哥白红!田华姐辛苦了!谢谢你们!希望你们能喜欢这首《燃》~ http://t.cn/RAEJxwL  原图 赞[70263] 原文转发[117442] 原文评论[32254] 转发理由:我们最喜欢的 //@宁桓宇:这就是我最喜欢的歌。最喜欢。  赞[0] 转发[0] 评论[0] 收藏 04月29日 22:29 来自iPhone 6";
		System.out.println(s.replaceAll(".*赞\\[(.*?)\\].*?转发\\[(.*?)\\].*?评论\\[(.*?)\\].*", "赞:$1\n转发:$2\n评论:$3"));
	
chenjing0320 2015-05-07
  • 打赏
  • 举报
回复
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {

	public static void main(String[] args) {
		String c = "转发了 白举纲 的微博:她出生的有点困难!谢谢Nick老师的制作和Kim老师的声乐指导!谢谢彭导团队的用心!谢谢我哥哥白红!田华姐辛苦了!谢谢你们!希望你们能喜欢这首《燃》~ http://t.cn/RAEJxwL  原图 赞[70263] 原文转发[117442] 原文评论[32254] 转发理由:我们最喜欢的 //@宁桓宇:这就是我最喜欢的歌。最喜欢。  赞[1] 转发[3] 评论[444] 收藏 04月29日 22:29 来自iPhone 6";
		
		int[] n = getNumber(c);
		
		System.out.println("赞: " + n[0]);
		System.out.println("转发: " + n[1]);
		System.out.println("评论: " + n[2]);
		
	}
	
	static int[] getNumber(String content) {
		
		int zanNumber = 0;
		int zhuanNumber = 0;
		int pingNumber = 0;
		
		if(content == null) {
			return new int[] {zanNumber, zhuanNumber, pingNumber};
		}
		
		int index = content.lastIndexOf("赞");
		if(index < 0) {
			return new int[] {zanNumber, zhuanNumber, pingNumber};
		}
		
		content = content.substring(index);
		
		Pattern p = Pattern.compile("赞\\[(\\d+)\\]|转发\\[(\\d+)\\]|评论\\[(\\d+)\\]");
		
		Matcher m = p.matcher(content);
		
		while(m.find()) {
			if(m.group(1) != null) {
				zanNumber = Integer.parseInt(m.group(1));
			} else if(m.group(2) != null) {
				zhuanNumber = Integer.parseInt(m.group(2));
			} else if(m.group(3) != null) {
				pingNumber = Integer.parseInt(m.group(3));
			}
		}
		
		return new int[] {zanNumber, zhuanNumber, pingNumber};
		
	}

}

81,095

社区成员

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

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