编写函数parseUrl,将url解析成各个域打印出来
2013-01-26 12:04
453 查看
url一般格式为:
protocol://[user[:password]@](domain_name|ip)[:port][/[path]]
例如: ftp://test:000@192.168.0.229:1023/test/data/data.xml http://localhost:8080/giantstone/index.jsp
请编写函数parseUrl,将url解析成各个域打印出来:
public static void parseUrl(String url)
注:要求用String类的方法实现,不得采用正则表达式
protocol://[user[:password]@](domain_name|ip)[:port][/[path]]
例如: ftp://test:000@192.168.0.229:1023/test/data/data.xml http://localhost:8080/giantstone/index.jsp
请编写函数parseUrl,将url解析成各个域打印出来:
public static void parseUrl(String url)
注:要求用String类的方法实现,不得采用正则表达式
package test.string; /* protocol://[user[:password]@](domain_name|ip)[:port][/[path]] ftp://test:000@192.168.0.229:1023/test/data/data.xml http://localhost:8080/giantstone/index.jsp ftp://192.168.0.1 http://www.cqnu.edu.cn/index.asp */ public class ParseUrl { public static void parseUrl(String url){ int iRecord = 0; int i = 0; int iLast = 0; for(i=0;i<url.length();i++){ if(':' == url.charAt(i)){ if(0 == iRecord){ System.out.println("protocol["+url.substring(0,i)+"]"); iRecord++; iLast = i; } else if(1 == iRecord){ System.out.println("usr["+url.substring(iLast+3,i)+"]"); iLast = i; iRecord++; } else if(2 == iRecord){ System.out.println("domain_name["+url.substring(iLast+1,i)+"]"); iLast = i; iRecord++; } } else if('/' == url.charAt(i)){ if(('/' != url.charAt(i-1)) && ('/' != url.charAt(i+1))){ if(iRecord > 1){//如果存在usr或者port System.out.println("port["+url.substring(iLast+1,i)+"]"); } else{ System.out.println("port[]"); } System.out.println("path["+url.substring(i)+"]"); break; } } else if('@' == url.charAt(i)){ System.out.println("password["+url.substring(iLast+1,i)+"]"); iLast = i; } } } public static void main(String[] args){ String url1 = "ftp://test:000@192.168.0.229:1023/test/data/data.xml"; //String url2 = "http://localhost:8080/giantstone/index.jsp"; //String url3 = "ftp://192.168.0.1"; //String url4 = "http://www.cqnu.edu.cn/index.asp"; parseUrl(url1); //parseUrl(url2); //parseUrl(url3); //parseUrl(url4); } }
相关文章推荐
- php使用函数pathinfo()、parse_url()和basename()解析URL
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- php中parse_url函数解析
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- php使用函数pathinfo()、parse_url()和basename()解析URL
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象
- 通过编写一个程序,来说明字符数组 以及操作字符数组的函数的用法。该程序读入一组文本行,并把最长的文本行打印出来。
- Datastage 中Transformer Stage:各个函数的解析
- PHP parse_url 一个好用的函数
- 练习 6-4 编写一个程序,根据单词的出现频率按降序打印输入的各个不同单词,并在 每个单词的前面标上它的出现次数
- js解析URL为对象函数实现
- PHP获取URL各个部分的函数
- php parse_url() 一个好用的函数
- php 使用pathinfo(), parse_url(), basename()解析URL
- 编写一个程序,一行行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,你可以假定所有的输入行均不超过1000个字符
- parse_url()解析url
- php中的parse_url函数学习理解
- URL处理两个关键的函数parse_str与http_build_query
- PHP中一个好用的函数parse_url