传过来邮箱地址
例如:[email protected]
变成[email protected]简单说就是@前的邮箱地址,字符间加一个点。
如果邮箱第一个字符是点就过滤掉。求代码比较简洁的算法。

解决方案 »

  1.   


    String s="[email protected]";
    String ss=s.substring(0, s.lastIndexOf("@")).replaceAll("", ".");
    String sss=s.substring(s.lastIndexOf("@"), s.length());
    String ssss=ss.substring(1,ss.length()-1);
    System.out.println(ssss+sss);
      

  2.   

    String str = "[email protected]";
    String strStart = str.split("@")[0];
    char[] chars = strStart.toCharArray();
    StringBuffer sb = new StringBuffer();
    for(int i=0;i<chars.length;i++){
    String s = String.valueOf(chars[i]);
    if(s.equals(".")&&(i==0)){
    sb.append("");
    }else{
    sb.append(s+".");
    }
    }
    sb.append("@");
    sb.append(str.split("@")[1]);
    System.out.println(sb.toString());
    随手写的,仅供参考
      

  3.   

    public class Gmail { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    String s="[email protected]";
    char c[]=s.toCharArray();
    String str="1";
    if(c[0]=='.')
    {
    return;
    }
    str=String.valueOf(c[0]);
    for(int i=1;i<s.length();i++){
    if(c[i] == '.'){
    str+=String.valueOf(c[i])+String.valueOf(c[++i]);
    }
    else if(c[i] == '@'){
    str+=s.substring(i);
    i=s.length();
    }
    else{
    str=str+'.'+String.valueOf(c[i]);
    }
    }
    System.out.println(str);
    }
    }这是我自己写的,如果前面那段有点的时候是不是也要加个判断。我写的觉得不是很简洁
      

  4.   

    public class Gmail { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    String s="[email protected]";
    char c[]=s.toCharArray();
    String str="1";
    if(c[0]=='.')
    {
    return;
    }
    str=String.valueOf(c[0]);
    for(int i=1;i<s.length();i++){
    if(c[i] == '.'){
    str+=String.valueOf(c[i])+String.valueOf(c[++i]);
    }
    else if(c[i] == '@'){
    str+=s.substring(i);
    i=s.length();
    }
    else{
    str=str+'.'+String.valueOf(c[i]);
    }
    }
    System.out.println(str);
    }
    }
      

  5.   

    最简单的应该是用regular expression吧
      

  6.   

    错了,没看清题。for (int i = 0, l = s.indexOf("@") - 1; i < l; i++) {
    m.append(s.getChar(i)).append(".");
      

  7.   


    package y201303;
    public class AddDot { public static void main(String[] args) {
    processDot("[email protected]");
    }

    public static void processDot(String str){
    String strHead = str.split("@")[0];
    String strFoot = str.split("@")[1];
    strHead = strHead.replace(".", "");
    strHead = strHead.replace("", ".");
    strHead = strHead.substring(1, strHead.length()-1);
    String newStr = strHead + "@" +strFoot;
    System.out.println(newStr);

    }