首页 > 移动平台 > 详细

Android中字符串拆分或拼接

时间:2016-07-06 02:05:55      阅读:347      评论:0      收藏:0      [点我收藏+]

在android开发中我们往往有时候需要对一些字符串做一些处理,来达到自己想要的效果,下面介绍几种方法:

Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");
Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf");
StringBuffer buffer = new StringBuffer();
while(matcher.find()){ ? ? ? ? ? ??
buffer.append(matcher.group()); ? ? ??
buffer.append("\r\n"); ? ? ? ? ? ??
System.out.println(buffer.toString());
Log.i(TAG, "截取得到字符串是:"+buffer.toString());

}

?

?

String url="http://192.144.136.44:8080/cms/apizsa.ptg?authkey=141414&do=get_category";
StringBuilder?sb = new StringBuilder();
sb.append(url.split(":")[0]).append(":").append(url.split(":")[1]).append(":");
sb.toString();
Log.i(TAG, "截取得到的字符是:"+sb.toString());

?

?

?

?只允许字母和数字??????
? ?String???regEx??=??"[^a-zA-Z0-9]";????????????????????
?清除掉所有特殊字符?
String regEx="[`~!@#$%^&*()+=|{}‘:;‘,\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?]";?
Pattern???p???=???Pattern.compile(regEx);????
Matcher???m???=???p.matcher(str);????
return???m.replaceAll("").trim();????
}????

?

◆比如,在字符串包含验证时

//查找以Java开头,任意结尾的字符串
Pattern pattern = Pattern.compile("^Java.*");
Matcher matcher = pattern.matcher("Java不是人");
boolean b= matcher.matches();
//当条件满足时,将返回true,否则返回false
System.out.println(b);


◆以多条件分割字符串时
Pattern pattern = Pattern.compile("[, |]+");
String[] strs = pattern.split("Java Hello World Java,Hello,,World|SUN");
for (int i=0;i<strs.length;i++) {
System.out.println(strs[i]);
}

?

◆文字替换(首次出现字符)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceFirst("Java"));

◆文字替换(全部)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceAll("Java"));


◆文字替换(置换字符)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World ");
StringBuffer sbr = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sbr, "Java");
}
matcher.appendTail(sbr);
System.out.println(sbr.toString());

?

◆验证是否为邮箱地址

String str="ceponline@yahoo.com.cn";
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());

?

◆去除html标记
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
String string = matcher.replaceAll("");
System.out.println(string);

?

◆查找html中对应条件字符串
Pattern pattern = Pattern.compile("href=\"(.+?)\"");
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
if(matcher.find())
System.out.println(matcher.group(1));
}

?

◆替换指定{}中文字

String str = "Java目前的发展史是由{0}年-{1}年";
String[][] object={new String[]{"\\{0\\}","1995"},new?String[]{"\\{1\\}","2007"}};
System.out.println(replace(str,object));

public static String replace(final String sourceString,Object[] object) {
String temp=sourceString;???
for(int i=0;i<object.length;i++){
String[] result=(String[])object[i];
Pattern????pattern = Pattern.compile(result[0]);
Matcher matcher = pattern.matcher(temp);
temp=matcher.replaceAll(result[1]);
}
return temp;
}

?

?

参考资料:http://www.cnblogs.com/doll-net/archive/2006/10/31/545398.html

?

Android中字符串拆分或拼接

原文:http://18565891643.iteye.com/blog/2307863

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!