您的位置:首页 > 移动开发 > Android开发

Android中字符串拆分或拼接

2016-05-24 10:56 393 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: