从一段文字中提取出uri信息
package handle.groupby; import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import org.mockito.asm.tree.IntInsnNode; public class GetUrlFromString { @SuppressWarnings("resource")
public static void main(String[] args) throws IOException {
String line="";
Pattern pattern = Pattern.compile("([\\w.]{1}[\\w\\/.\\s]*[\\w]{1})",Pattern.CASE_INSENSITIVE); BufferedReader r= new BufferedReader(new FileReader(args[0]));
BufferedWriter w=new BufferedWriter(new FileWriter(args[1])) ;
while ((line=r.readLine())!=null) {
String source = line;
Matcher matcher = pattern.matcher(source);
while(matcher.find()){
// System.out.println(matcher.group(matcher.groupCount()));
String url=matcher.group(matcher.groupCount());
if (url.contains(".")) {
String resUrl="";
String resUrl2="";
if (url.contains("/")) {
//这个判断是为了提取出短域名的网站级访问访问信息,不需要可以删掉。
//例如从:汉字汉字汉字t.cn/RVIIIj8汉字汉字 中提取出 t.cn/RVIIIj8而不是t.cn
int i =url.lastIndexOf("/");
int i2 =url.indexOf("/");
if (i==i2) {
resUrl=url;
}else {
resUrl =url.split("/")[0];
}
}else {
resUrl=url;
}
//去空格
resUrl= resUrl.replaceAll(" ", "");
w.write(source+"|"+resUrl);
w.write("\r\n");
}
}
}
r.close();
w.flush();
w.close();
System.out.println("执行完毕");
} }
从一段文字中提取出uri信息的更多相关文章
- 一段文字中的几个keyword显示高亮
		将一段文字中的几个keyword显示高亮 演示样例:将"我的愿望是当个绿巨人,所以我想让我的皮(derma)肤是绿色"中的"皮肤"显示绿色. <span ... 
- (转) 从ffmpeg中提取出YUV数据
		有时需要从ffmpeg中提取出YUV数据用作预览,另存什么的. ffmpeg是先解码成YUV, 再以这个YUV作为输入进行编码,所以YUV数据有两种: 解码后的YUV数据, 以及 编码重建的YUV ... 
- js或者jq判断一段文字中是否有自己想要的那几个字,如果有就把那几个字变成红色
		如何判断一段文字中是否有自己想要的那几个字,如果有就把那几个字变成红色(在html中)比如有body中有这么一串文字“驾驶的后视镜的华盛顿”,想要判断里面是否有“驾驶”这两个字,如果有就把这两个字变成 ... 
- C++统计一段文字中各单词出现的频率
		#include <iostream> using namespace std; /* run this program using the console pauser or add y ... 
- 如何从 dump 文件中提取出 C# 源代码?
		一:背景 相信有很多朋友在遇到应用程序各种奇葩问题后,拿下来一个dump文件,辛辛苦苦分析了大半天,终于在某一个线程的调用栈上找到了一个可疑的方法,但 windbg 常常是以 汇编 的方式显示方法代码 ... 
- 统计一段文字中出现频率最高的10个单词(c语言)
		注:这次使用C语言做的这个程序.个别不懂的地方和算法部分是请教的其他同学,交流并吸收,所以收获颇多! 在程序中每一个地方我都做了注释,方便同学之间交流.也让老师容易看.程序也有很多不足的地方,但限于本 ... 
- JS 实现计算一段文字中的字节数,字母数,数字数,行数,汉字数。
		看到了匹配,第一个想到了用正则表达式,哈哈,果然很方便.不过正则表达式高深莫测!我还没有研究明白啊..目前学了点皮毛.代码如下: <!DOCTYPE html PUBLIC "-//W ... 
- 从一个数组中提取出第start位到第end位
		假设通过数组in来表示一个很大的数(in[0]表示最低bit),提取该数的第start位到第end位(计数起始位为0): #define MAX_BYTE_LEN ( 48 ) int getData ... 
- [Spark][python]从 web log 中提取出 UserID 作为key 值,形成新的 RDD
		针对RDD, 使用 keyBy 来构筑 key-line 对: [training@localhost ~]$ cat webs.log 56.31.230.188 - 90700 "GET ... 
随机推荐
- ApartmentState.STA
			需要设置子线程 ApartmentState 为 STA 模式,但 Task 又不能直接设置 ApartmentState,因此需要用 Thread 来封装一下. using System.Threa ... 
- 解决python错误 UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8b in position 1: illegal multibyte sequence
			报错的代码: url= 'http://kaijiang.500.com/shtml/ssq/19001.shtml' page =urllib.request.urlopen(url) conten ... 
- Webpack 4 : ERROR in Entry module not found: Error: Can't resolve './src'
			ERROR in Entry module not found: Error: Can't resolve './src' in 'E:\ASUS\Documents\VSCode files\Web ... 
- AtCoder diverta 2019 Programming Contest 2
			AtCoder diverta 2019 Programming Contest 2 看起来我也不知道是一个啥比赛. 然后就写写题解QWQ. A - Ball Distribution 有\(n\)个 ... 
- Delphi - 利用DLL编程控制摄像头实现拍照、录制视频
			Delphi利用avicap32.dll编程控制摄像头实现拍照.录制视频 项目需求:平板电脑(Windows系统)一维/二维码扫描功能: 需求分析: 需要扫描一维/二维码时,分两步实现. 第一步,av ... 
- PIE SDK归一化水体指数法
			1.算法功能简介 归一化指数法(NDWI(Normalized Difference Water Index,归一化水指数)),用遥感影像的特定波段进行归一化差值处理,以凸显影像中的水体信息. 其表达 ... 
- tf.image.adjust_brightness等的使用
			import tensorflow as tfimport numpy as npimport cv2 as cvimport matplotlib.pyplot as pltsess=tf.Sess ... 
- HeadFirst设计模式(一)策略者模式
			最近在看HeadFirst设计模式一书,作为一个半路出家的程序员,感觉很多东西需要学习,学习的路程中有些东西学了当时觉得理解了,但日常工作中没有使用到渐渐的自己就忘记了.--------------- ... 
- 【开发笔记】- MySQL中limit查询超级慢,怎么办?
			有如下解决方法: (1).通过判断id的范围来分页 limit ; 也得到了分页的数据,但是我们发现如果id不是顺序的,也就是如果有数据删除过的话,那么这样分页数据就会不正确,这个是有缺陷的. (2) ... 
- 各主流摄像头的rtsp地址格式
			海康威视rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名.例 ... 
