a.过滤替换
Android Webview加载html片段,
由于html 的字符串中间穿插很多图片的尺寸是不定的,造成了部分图片是超过了屏幕,
解决办法:
使用replace方法把 img width全部替换为100%
String data = Html.fromHtml(content).toString();
data = data.replaceAll("width=\"\\d+\"", "width=\"100%\"").replaceAll("height=\"\\d+\"", "height=\"auto\"");
webview.loadDataWithBaseURL("http://webhost.net", data, "text/html", "UTF-8", null);
处理行业数据 过滤掉一些信息如 网站 电话
String cc = "立足农村,传播科技、提升价值,www.test.net等待您的入住http://t.cn/SXiTxxPi";
Pattern pattern = Pattern.compile( "(http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&*=]*))");
Matcher matcher = pattern.matcher(cc);
cc = matcher.replaceAll("");
Pattern pattern2 = Pattern.compile( "([\\w-]+\\.)+[\\w-]+([\\w-./?%&*=]*)");
cc = pattern2.matcher(cc).replaceAll("");
b.找到固定的
parentdir为文件名,可能包含特殊符号 和数字编号
String content = parentdir.getName().replace("、", " ").replace("-", " ").replace(".", " ").replace("$", " ");
// System.err.println("------content-------->" + content);
String dirname = content;
// 去除 索引数字和 点
Pattern pattern = Pattern.compile("^(\\d+)(.*)");
Matcher matcher = pattern.matcher(content);
if (matcher.matches()) {// 数字开头
// System.out.println(matcher.group(1));// 编号
// System.out.println(matcher.group(2));// 剩余的
dirname = matcher.group(2);
}
c.正则在sql 查询中的使用
场景 mysql 中某些字段 处理 都是编号数字开头的 去除开头或者 去除固定的 字符串
查找name字段中以'st'为开头的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
查找name字段中以'ok'为结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
查找name字段中包含'mar'字符串的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
网友评论