今天下午去面试了,因为企业是一家物流公司,所以对ssh没啥要求,但要求熟练操作前台,比如javascript,jquery。  当他叫我用js操作一下层,也就是css样式时,我懵了。这一块没啥感觉,根本是不会。如果叫我写一个简单的还会,汗!经理说三天内给我回复,估计没啥戏了。。  他给我出的一个java题,还是值得探讨一下的。。一个字符串,比如“ab11349@#=/11ciop@@”,把11替换成从控制台输入的东西。当然如果用String里面的replace来做,是相当简单的,代码如下:   
view plaincopy to clipboardprint?
 String s="ab11349@#=/11ciop@@";  
 s=s.replace("11", "abc");  
这里的abc只是我简单的输一下。。大家可以用Scanner  
 Scanner scanner=new Scanner(System.in);  
 System.out.println(scanner.next());  
      
 这里没必要用到while(scanner.hasNext()),这个一般是用来输入多个字符串的!经理说那个不能用replace,可以想想用split或者substring,都提示我了。。当然,我也很轻松地拿下了:代码如下:view plaincopy to clipboardprint?
String s = "ab11349@#=/11ciop@@";  
    String[] ss = s.split("11");  
    Scanner scanner=new Scanner(System.in);  
    String str=scanner.next();  
    for (int i = 0; i < ss.length; i++) {  
         if (i != (ss.length - 1)) {  
            ss[i] = ss[i] + str;  
        }  
        System.out.print(ss[i]);  
    }  
 其实也可以用substring,代码如下:view plaincopy to clipboardprint?
String s = "ab11349@#=/11ciop@@";  
        String[] ss = s.split("11");  
        String str="abc";  
        String a="";  
          
        for (int i = 0; i < ss.length; i++) {  
            a+=ss[i]+str;  
              
        }  
        String b=a.substring(0,a.length()-str.length());  
        System.out.println(b);  
 个人感觉第一种方式还是比较简单的。。欢迎提出最好的程序!!

解决方案 »

  1.   

    用正则表达式替换import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class PatternReplaceExmple{ private static Pattern p ;
    private static Matcher m ; public static void setPattern(String str){
    p = Pattern.compile(str);
    } public static void setPattern(String str,int i){
    p = Pattern.compile(str,i);
    } public static void setMatcher(String str){
    m = p.matcher(str);
    }

    public static String replace(String str){
    StringBuffer buf = new StringBuffer();
    while(m.find()){
    m.appendReplacement(buf,str);
    }
    m.appendTail(buf);
    return buf.toString();
    }}
      

  2.   

    jquery,直接用css()方法就可以搞定了。