问题描述
编写函数parseMailAddr,解析邮件地址,打印出protocol、username、domainname。publcstaticvoidparseMailUrl(StringmailUrl)例如:mailto://superman@giantstone.com,打印输出:protocol[mailto]username[superman]domainName[giantstone.com]以下是我编的publicclassCopyOfSalutonPublic{publicvoidfuction(Stringtest){Stringprotocol=null;StringdomainName=null;Stringusername=null;//TODOSystem.out.println("test["+test+"]");System.out.println("protocol["+protocol+"]");System.out.println("username["+username+"]");System.out.println("domainName["+domainName+"]");}publicstaticvoidmain(String[]args){Stringtest="http://jia@126.com";CopyOfSalutonPublicpublicObj=newCopyOfSalutonPublic();publicObj.fuction(test);}}但是打出来的都是NULL怎么回事啊
解决方案
解决方案二:
你根本就没解析,当然都是null.
解决方案三:
这是干什么?传入就打印,啥也没做......-_-!
解决方案四:
那我是不是在//TODO这里输入解析方法就可以我不知道怎么弄能帮帮忙吗
解决方案五:
split()
解决方案六:
我刚开始学我不知道解析语句是什么我应该怎么找,从哪里找~~?
解决方案七:
4楼的算是正解。不过优秀点的话用正则表达式截取字符串。这个我是初学,帮不了你,高手快来写式子!~
解决方案八:
importjava.util.regex.Pattern;publicclassCopyOfSalutonPublic{publicvoidfuction(Stringtest){Patternpt=Pattern.compile(":\/{2}|@");String[]strArray=pt.split(test);//如果假定test格式合法,数组不会越界Stringprotocol=strArray[0];StringdomainName=strArray[1];Stringusername=strArray[2];System.out.println("test["+test+"]");System.out.println("protocol["+protocol+"]");System.out.println("username["+username+"]");System.out.println("domainName["+domainName+"]");}publicstaticvoidmain(String[]args){Stringtest="http://jia@126.com";CopyOfSalutonPublicpublicObj=newCopyOfSalutonPublic();publicObj.fuction(test);}}