想把一个字符串 在制定位置添加字符
例如 String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";每隔5个字符中加加个@最终效果你好OWD@WDWdf@sdfd捱@三顶五上的@发生大幅爱@上大叔大叔@山东省@

解决方案 »

  1.   

    我的思路是把str拆分成字符数组,循环,加入@符号,然后再输出字符串
      

  2.   

    public static void main(String[] args){
    String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    //你好OWD@WDWdf@sdfd捱@三顶五上的@发生大幅爱@上大叔大叔@山东省@
    String[] st=new String[(str.length()/5)+1];
    String newstr="";
    for(int i=0;i<(str.length()/5);i++){
    st[i]=str.substring(i*5,(i+1)*5)+"@";
    newstr+=st[i];
    }
    newstr+="山东省@";
    System.out.println(newstr);


    }
    }
      

  3.   


     public static void main(String[] args) {
            Untitled1 untitled1 = new Untitled1();
            String content = "代金券信息20091213一起来打印abcdejn卡技能";
            String str="";
            char[] s=content.toCharArray();
            StringBuffer sb=new StringBuffer();
            for(int i=0;i<s.length;i++){
                if(i%12!=0){
                    sb.append(s[i]);
                }
                if(i>0&&i%12==0){
                    sb.append(s[i]);
                    sb.append("@");
                }
            }
          
            System.out.println(sb.toString());
        }
      

  4.   


    public static void main(String[] args) {
    String str = "你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    Pattern p = Pattern.compile(".{5}");
    Matcher m = p.matcher(str);
    int pos = 0;
    while (m.find(pos)) {
    pos += 5;
    str = str.replace(m.group(), m.group() + "@");
    }
    System.out.println(str);
    }
      

  5.   


                   String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱";
    String _str = "";
    while(str.length() > 5){
    _str += str.substring(0, 5) + "@";
    str = str.substring(5, str.length());
    }
    str = _str + str;
    System.out.println(str);
      

  6.   

    我有个最简单的办法.String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    StringBuffer sb = new StringBuffer(str);
    for(i=5;i<sb.length();i+=5){
    sb.insert(i,'@');
    }
      

  7.   


    public static void main(String[] args) {
    String str = "你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    StringBuffer sb = new StringBuffer();
    for (int i = 5; i < str.length();) {
    if(5 == i ){
    sb.append(str.substring(0,i)+"@");
    }else{
    sb.append(str.substring(i,((i+5)<str.length()? i+5:str.length()))+"@");
    }
    i = (i+5)<str.length()? i+5:str.length();
    }
    System.out.println("最终结果:"+sb.toString());
    }
      

  8.   

    package com.csdn.questions;public class csdn6 {
    public static void main(String[] args) {
    String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    //每隔5个字符中加加个@
    StringBuffer bu = new StringBuffer(str);
    for(int i=0;i<bu.length();i++){
    if(i%5==0&&i!=0){
    bu.insert(i, "@");
    }
    }
    System.out.println(bu);
    }
    }
      

  9.   

    你的输出是:     你好OWD@WDWd@fsdf@d捱三顶@五上的发@生大幅爱@上大叔大@叔
      

  10.   

    10楼我借花献佛别建议啊!~=.=
    String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
    StringBuffer sb = new StringBuffer(str);
    for(int i=5;i<sb.length();i+=5){
    sb.insert(i,'@');
    i++;
    }
    System.out.println(sb);
    这样就OK了噢