解决方案 »

  1.   

    package demo;import java.util.Arrays;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Rex {

    static final Pattern pattern = Pattern.compile("\\{\\[\\(.*?\\)\\]\\}");
    public static void main(String[] args) {
    String s = " fasdfasdfasdfasj{[(aaaaaaaa)]}{[(ccccccccc)]}asdfasd";

    System.out.println(helper(s));
    }

    private static String helper (String s) {

    Matcher m = pattern.matcher(s);
    while (m.find()) {
    String strHead = s.substring(0, m.start());
    String strTail = s.substring(m.end(), s.length());
    String subString = dealString(m.group());
    s = strHead + subString + strTail;
    m = pattern.matcher(s);
    }

    return s;
    }

    // 将{[(aaaa)]}替换为eeee
    private static String dealString(String str) {
    // 先去左右括号
    str = str.substring(3);
    str = str.substring(0, str.length() - 3);

    // 每个字符做处理+4 a->e 
    char[] cs = new char[str.length()];
    for (int i=0; i< str.length(); i++) {
    char c = str.charAt(i);
    cs[i] = (char) (c+4);
    }
    return new String(cs);
    }
    }
      

  2.   


    public class StringSplitTest {    public static void main(final String[] args) {
            String string1 = "fasdfasdfasdfasj{[(aaaaaaaa)]}{[(ccccccccc)]}asdfasd";
            String string2 = "eeeeeeee";
            String string3 = "ffffffff";        String string1replace = string1;
            string1replace = string1replace.replace("{[(", "_");
            string1replace = string1replace.replace(")]}", "_");
            String[] string1replaceArray = string1replace.split("_");
            System.out.println(string1replaceArray[0] + string2 + string3 + string1replaceArray[4]);
        }
    }
    fasdfasdfasdfasjeeeeeeeeffffffffasdfasd