字符串函数不论在哪类语言中都是比较重要的,也是用得比较多的函数。上周博主在写APP的时候需要取得网页中的链接,就曾用到过这个。
常用字符串函数
String.length() //取字符串长度,返回整形字符串长度数值
String.indexOf(str) //取字符串str起始字母位与string字符串的第几个位置,返回整形数值
String.substring(int1,int2) //取出字符串String中第int1开始到int2结束的所有字符,返回所取得的字符串
chazhao为自定义方法名,第一个字符串型数据neirong为你想从哪些字符串中寻找数据,第二个为寻找数据的左边内容,第三个为寻找数据的右边内容。
复制
public static String chazhao(String neirong,String zuobian,String youbian) { String sssString=null; sssString=neirong.substring(zuobian.length()+neirong.indexOf(zuobian), neirong.indexOf(youbian)); return sssString; }
例如下面的代码是从网页中获取网页源码,并通过正则匹配取得内容,再通过上面的取文本中间取得图片链接:
复制
public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // TODO Auto-generated method stub //System.out.println(); String sssStr=null; String resultstring=null; String resultstr=null; String aaaa=null; sssStr=getweb("http://www.taotu8.net/gc/list_1_1.html", 5000, "GBK"); resultstring=chazhao(sssStr,"<div class=\"mg piclist\">","<div class=\"aright\">"); Pattern pattern = Pattern.compile("(<li>([\\s\\S]*?)</li>)"); Matcher matcher = pattern.matcher(resultstring); while (matcher.find()) { resultstr=matcher.group(); //Daimadog dm=new Daimadog(); aaaa= chazhao(resultstr,"data-original='","' alt="); System.out.println(aaaa+"\n"); } } public static String chazhao(String neirong,String zuobian,String youbian) { String sssString=null; sssString=neirong.substring(zuobian.length()+neirong.indexOf(zuobian), neirong.indexOf(youbian)); return sssString; } public static String getweb(String path,int timeout,String econd){ String resultstring=null; try { URL url=new URL(path); HttpURLConnection httpconn=(HttpURLConnection) url.openConnection(); httpconn.setRequestMethod("GET"); httpconn.setReadTimeout(timeout); InputStreamReader in=new InputStreamReader(httpconn.getInputStream(),econd); BufferedReader bf=new BufferedReader(in); String jg=null; while ((jg=bf.readLine())!=null){ resultstring=resultstring+jg; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return resultstring; } }
写个APP太麻烦了,这里就用Java代码给大家演示下,效果在安卓中是一样的,结果如下图。
评论 (0)