字符串函数不论在哪类语言中都是比较重要的,也是用得比较多的函数。上周博主在写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)